当我尝试使用MSBuild构建解决方案时,它会启动Visual Studio



我正在尝试使用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.csprojxxx.vcxproj文件,检查是否有类似的内容:

<Target Name="PreBuild" BeforeTargets="PreBuildEvent">
<Exec Command="&quot;C:Program Files (x86)Microsoft Visual Studio2019CommunityCommon7IDEdevenv.exe&quot;&#xD;&#xA; &#xD;&#xA;" />
</Target>

<Target Name="PostBuild" AfterTargets="PostBuildEvent">
<Exec Command="&quot;C:Program Files (x86)Microsoft Visual Studio2019CommunityCommon7IDEdevenv.exe&quot;&#xD;&#xA;" />
</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。如果是,你应该删除它。

最新更新