首页 > 解决方案 > 在新版本的 Visual Studio 中构建后,可执行文件在 Azure 上无法正常工作

问题描述

这是交易,我有一个用 C# 编码的天蓝色函数,它唯一的工作是当带有数据的文本文件上传到 blob 时,它调用一个可执行文件,并且来自可执行文件的结果文件存储在 blob 的另一个文件夹中。可执行文件本身来自一个 C++ 程序,该程序的项目安装在 Visual Studio 2017 Enterprise 上。

我的 Enterprise 许可证已过期,因此我在 Visual Studio 2019 社区下载并设置了该项目。它不是一个非常大的程序,设置起来也不是很困难,它编译和构建没有任何问题,并且可执行文件在任何计算机上都可以正常工作......但是当我在 azure 中更新可执行文件并且 Azure 函数调用它时,它只是崩溃。有谁知道为什么以及如何解决这个问题?

可执行文件存储在我与 azure 一起使用的虚拟机的文件夹中,Azure 函数使用以下命令调用它:

    // Process file
       Process p = new Process();
       p.StartInfo.FileName = workingDirectory + "Project1.exe";
       p.StartInfo.WorkingDirectory = workingDirectory;
       p.StartInfo.RedirectStandardOutput = true;
       p.StartInfo.UseShellExecute = false;

可执行文件上的代码没有改变,我能想到的唯一不同的是VS版本。我正在以与在 VS2017 中相同的方式在 x64 发布模式下构建可执行文件

预先感谢您的任何帮助。

迭戈

标签: c++visual-studioazureazure-functionsexecutable

解决方案


我通过转到项目属性并将平台工具集更改为 Visual Basic 2017 并将 SDK 更改为我已安装且现在可以使用的版本解决了这个问题。

不过,我仍然不明白为什么在使用 2019 工具集时会崩溃。

谢谢大家的想法。


推荐阅读