我正在尝试使用MSBUILD构建一个解决方案。它不是构建解决方案,而是启动Visual Studio。
E:MyProject> <path to MSBuild>msbuild.exe MySolution.sln
我从Jenkins那里调用Msbuild步骤,由于上述问题,它被卡住了。有人能帮我吗?
当我尝试使用MSBuild构建解决方案时,它会启动Visual工作室
通常,VS IDE只有在调用devenv.exe
时才会启动。
首先请检查解决方案文件夹下的每个proj
文件,并确保在proj
文件中没有这样的bat文件或调用denenv.exe
的命令。
输入每个xxx.csproj
或xxx.vcxproj
文件,检查是否有类似的内容:
<Target Name="PreBuild" BeforeTargets="PreBuildEvent">
<Exec Command=""C:Program Files (x86)Microsoft Visual Studio2019CommunityCommon7IDEdevenv.exe"
 
" />
</Target>
<Target Name="PostBuild" AfterTargets="PostBuildEvent">
<Exec Command=""C:Program Files (x86)Microsoft Visual Studio2019CommunityCommon7IDEdevenv.exe"
" />
</Target>
<PropertyGroup>
<PreBuildEvent>"C:Program Files (x86)Microsoft Visual
Studio2019CommunityCommon7IDEdevenv.exe"</PreBuildEvent>
</PropertyGroup>
<PropertyGroup>
<PostBuildEvent>"C:Program Files (x86)Microsoft Visual
Studio2019CommunityCommon7IDEdevenv.exe"</PostBuildEvent>
</PropertyGroup>
如果是,您应该删除它们,并使它们不调用devenvdevenv将启动VS IDE。
第二个,您应该调用msbuild版本,如:
VS2017:的MSBuild
C:Program Files (x86)Microsoft Visual Studio2017CommunityMSBuild15.0BinMSBuild.exe
VS2019的MSBuild:
C:Program Files (x86)Microsoft Visual Studio2019CommunityMSBuildCurrentBinMSBuild.exe
在Jenkins上使用MSBuild命令行,如下所示:
C:Program Files (x86)Microsoft Visual Studio2019CommunityMSBuildCurrentBinMSBuild.exe xxxMySolution.sln /t:build
除了,您还可以检查Jenkins是否有工作要呼叫devenv
。如果是,你应该删除它。