Framework vs Visual Studio中的Msbuild版本

Msbuild version in Framework vs Visual studio

build.exe的哪个版本是什么?

我有一台只有Visual Studio 2017(v15)安装的计算机。
然后,我有2个msbuild.exe文件。一个在Framework文件夹中,另一个在Visual Studio文件夹中。

除了版本不同外,输出也不同。版本号不仅在格式上有所不同,在信息类型上也有所不同。框架版本与Visual Studio版本。在不了解的情况下,Visual Studio似乎拥有自己的msbuild.exe,而不是来自框架的。

1
2
3
4
5
6
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

vs

1
2
3
4
5
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


.NET Framework 4中包含了MSBuild版本,该版本尚未进行任何功能升级,但是由于它是.NET Framework的一部分,因此它继续作为Windows的一部分提供-冻结在已实现的功能状态下在4.0版中。您发布的内部版本号表明它是4.7.2 .NET Framework安装的一部分。它只能建立较旧的.NET项目(Visual Studio 2010 c#/ vb项目)。

较新的MSBuild版本是单独安装的。在Visual Studio 2017之前,VS使用了全局MSBuild安装,但是在2017年,MSBuild在VS安装中是本地的,以支持不同VS版本的并行安装。