Framework vs Visual studio中的Msbuild版本

时间:2018-05-16 07:33:14

标签: msbuild

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

我有一台Visual Studio 2017(v15)的机器只作为安装 然后我有2个msbuild.exe个文件。一个在framework文件夹中,另一个在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

VS

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

1 个答案:

答案 0 :(得分:3)

.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版本的并行安装。