【发布时间】:2018-10-26 03:38:58
【问题描述】:
build.exe 是哪个版本的?
我有一台仅安装 Visual Studio 2017 (v15) 的机器。
然后我有 2 个msbuild.exe 文件。一个在框架文件夹中,另一个在 Visual Studio 文件夹中。
除了版本不同,输出也不同。版本号不仅格式不同,信息类型也不同; 框架版本 vs Visual Studio 版本。在不了解情况的情况下,看起来 Visual Studio 有自己的 msbuild.exe,而不是源自框架的。
C:\Windows\Microsoft.NET\Framework\v4.0.30319>msbuild /version
Microsoft (R) Build Engine version 4.7.3062.0
[Microsoft .NET Framework, version 4.0.30319.42000]
Copyright (C) Microsoft Corporation. All rights reserved.
4.7.3062.0
对
C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin>msbuild /version
Microsoft (R) Build Engine version 15.6.85.37198 for .NET Framework
Copyright (C) Microsoft Corporation. All rights reserved.
15.6.85.37198
【问题讨论】:
-
自 VS2017 以来发生了变化,例如:您的所有构建都使用 v15,例如docs.microsoft.com/en-us/visualstudio/msbuild/…,stackoverflow.com/questions/328017/path-to-msbuild。所以我认为 v4 是为了向后兼容,但不确定。
-
@stijn 这意味着无论是否安装了 Visual Studio,在使用 Dotnet4.7 的原始机器上编译的机器的行为可能会有所不同。假设您正在本地开发并且有一个没有 VS 的构建服务器。嗯。
-
但是即使没有VS你仍然需要安装构建工具,对吧?最新的 msbuild 版本也可能附带。
标签: msbuild