【问题标题】:The same msbulid.exe shows different version on different machines相同的 msbulid.exe 在不同的机器上显示不同的版本
【发布时间】:2018-02-06 20:19:42
【问题描述】:

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

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

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

开发机器:14.0.25420.1

构建服务器:14.0.23107.0

为了排除这个错误与版本有关 我尝试将 msbuild 从 dev 机器传递到构建服务器并在那里运行它输出构建服务器版本。

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

如何更新构建引擎?

【问题讨论】:

    标签: visual-studio msbuild wix


    【解决方案1】:

    相同的 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版本:

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

    评论更新:

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

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

    详情请参考文档MSBuild is now part of Visual Studio!

    新的 Microsoft® 构建工具包

    MSBuild 现在是 Visual Studio 的一个组件,将随所有 Visual Studio 的 SKU,包括 Team Build,因此如果您使用 Visual Studio 应涵盖您的所有构建需求。我们明白 您可能想使用 MSBuild 的原因有很多 和其他构建工具,无需安装 Visual Studio,因此我们 正在将这些工具作为一个新的独立包提供,称为 Microsoft® 构建工具。该软件包包括 MSBuild 和 VB/C# 编译器。可以在 MSDN 下载处获取新包 居中。

    这个独立包非常适合构建需要精细的服务器 对其构建过程的粒度控制。用这种新方法 不断发展的 MSBuild,您可以更好地控制构建行为,并且 不受 .NET Framework 版本的影响。

    希望这会有所帮助。

    【讨论】:

    • 是否可以在不安装 Visual Studio 的情况下更新 msbuild?
    • 另外,我希望能够在一台服务器上控制msbuild的版本(使用不同的msbuild版本构建),如果msbuild依赖Visual Studio怎么办?
    • @CountOren,答案是肯定的,具体可以参考更新后的答案。
    • 感谢您的回复,但我确实尝试使用构建工具并安装了 .net core 1.0(据我了解应该更新 msbuild)并运行“C:\Program Files (x86 )\MSBuild\14.0\Bin\MSBuild.exe" /version 输出版本 14.0.23107.0 请注意,从开发机器(在开发机器上产生:14.0.25420.1)带来 msbuild 并运行它,输出 14.0.23107.0在构建服务器上,这让我觉得 msbuild 可能是在引用机器中的另一个进程(如 COM 对象)以确定正在运行的版本。
    • AFAIK,构建工具 2015 应该与 .net core 1.0 不兼容,它与 .net core 1.0 预览版兼容。 .net core 1.0 随 Visual Studio 2017 一起提供。docs.microsoft.com/en-us/visualstudio/releasenotes/…
    猜你喜欢
    • 1970-01-01
    • 2012-04-20
    • 1970-01-01
    • 1970-01-01
    • 2012-09-07
    • 1970-01-01
    • 2023-03-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多