相同的msbulid.exe在不同的计算机上显示不同的版本

时间:2018-02-06 20:19:42

标签: visual-studio msbuild wix

我正在尝试将我的开发环境复制到我的构建服务器中,以便调试仅在构建服务器中发生的错误。使用位于C:\ Program Files(x86)\ MSBuild中的msbuild编译相同的解决方案两台机器上的\ 14.0 \ Bin \ MSBuild.exe。

在开发机器中,解决方案在构建服务器中成功编译时失败。

从msbuild读取输出我注意到在两台机器中,构建都是使用不同版本的Microsoft构建引擎完成的

dev machine:14.0.25420.1

构建服务器:14.0.23107.0

为了排除此错误与版本有关 我试图将msbuild从开发机器传递到构建服务器并在那里运行它,然后输出构建服务器版本。

同一个msbuild如何在不同的机器上产生不同的版本?

如何更新构建引擎?

1 个答案:

答案 0 :(得分:0)

  

同一个msbuild如何在不同的机器上产生不同的版本?

根据官方博客MSBuild is now part of Visual Studio!

  

从Visual Studio 2013开始,2013版MSBuild将会   作为Visual Studio的一部分而不是.NET Framework。

所以此时,MSBuild.exe拥有相同版本的Visual Studio 2015,您可以查看Visual Studio 2015的版本:

enter image description here

因此,请将构建服务器上的Visual Studio版本更新为具有相同版本的MSBuild.exe。

评论更新:

  

是否可以在不安装visual studio的情况下更新msbuild?

答案是肯定的,您可以下载Microsoft Build Tools 2015,安装它以更新msbuild.exe而无需安装Visual Studio。

有关详细信息,请参阅文档MSBuild is now part of Visual Studio!

  

新Microsoft®BuildTools软件包

     

MSBuild现在是Visual Studio的一个组件,将随附所有   Visual Studio的SKU,包括团队构建,如果您使用Visual   Studio应涵盖所有构建需求。我们理解这一点   您可能想要使用MSBuild的原因有很多   和其他构建工具,而不需要安装Visual Studio,所以我们   正在将这些工具作为一个名为的新独立包提供   Microsoft®构建工具。该软件包包括MSBuild和VB / C#   编译器。可以在MSDN下载中获取新包   中心。

     

这个独立的软件包非常适合需要很好的构建服务器   谷物控制他们的构建过程。有了这种新方法   不断发展的MSBuild,你可以更好地控制构建行为   不受.NET Framework版本的影响。

希望这有帮助。