msbuild.exe无法在Azure的Linux VM上运行

时间:2019-02-28 08:03:59

标签: linux azure jenkins msbuild jenkins-plugins

我正在尝试使用Jenkins来运行单元测试。我已经通过构建步骤“使用MSBuild构建Visual Studio项目”为构建项目创建了一个Jenkins项目。我的Jenkins服务器安装在Azure中的linux vm上。

您可以在Jenkins用户界面中看到它:

Jenkins build step

运行构建时,我会收到以下控制台输出:

Path To MSBuild.exe: msbuild.exe
FATAL: Unable to use this plugin on this kind of operation system
Executing the command msbuild.exe /ContinuousIntegration/ContinuousIntegration.sln from 
/var/lib/jenkins/workspace/CSHARP_CI_TEST - UNITTEST
[CSHARP_CI_TEST - UNITTEST] $ msbuild.exe 
/ContinuousIntegration/ContinuousIntegration.sln
Build step 'Build a Visual Studio project or solution using MSBuild' changed 
build result to FAILURE 
Build step 'Build a Visual Studio project or solution using MSBuild' marked 
build as failure
Finished: FAILURE

我认为这里的问题是我试图在Linux VM上使用msbuild.exe。有解决方法吗?还是无法做到这一点?

我试图通过Linux终端在vm上使用msbuild.exe,但是无法运行它。

1 个答案:

答案 0 :(得分:0)

要满足您的要求,您必须在Azure Jenkins Linux VM中安装“ .NET Core SDK”,然后可以仅通过命令“ dotnet build ContinuousIntegration / ContinuousIntegration.sln”使用“ Execute shell”构建步骤

要在Azure Jenkins Linux VM中安装“ .NET Core SDK”,请转到https://dotnet.microsoft.com/learn/dotnet/hello-world-tutorial/install,然后在该页面上单击“ Linux”,然后选择所需的Linux发行版并按照提供的步骤进行操作。

有关各种操作系统上的MSBuild支持的详细信息,请参阅https://github.com/Microsoft/msbuild/blob/master/documentation/wiki/Building-Testing-and-Debugging-on-.Net-Core-MSBuild.md

仅供参考,我已经测试并重现了您的方案,并遇到了您提到的相同错误,然后我按照上述过程进行操作并成功解决了该问题。因此,我希望这会有所帮助。干杯!

PS:在您的Shell脚本中,您必须CD到正确的文件夹才能正常工作。