Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Msbuild version in Framework vs Visual studio

Tags:

msbuild

Which version of build.exe is what?


I have a machine with Visual studio 2017 (v15) as only installation.
I then have 2 msbuild.exe files. One in the framework folder and the other in the Visual studio folder.

Besides different versioning, the output is different. The version number differs not only in format but in type of information too; Framework version vs Visual studio version. Without knowing better it looks like Visual studio has its own msbuild.exe, not deriving from the framework's.

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
like image 653
LosManos Avatar asked May 16 '18 07:05

LosManos


1 Answers

A version of MSBuild was included in .NET Framework 4 which has not received any feature upgrades but since it is part of .NET Framework, it is continued to be shipped as part of Windows - frozen at the feature state that was implemented in version 4.0. The build number you posted indicates it is part of an 4.7.2 .NET Framework installation. It will only be able to build older .NET projects (Visual Studio 2010 c#/vb projects).

Newer MSBuild version are installed separately. Before Visual Studio 2017, there was a global MSBuild installation that VS used, but in 2017, MSBuild is local to the VS installation to support side-by-side installation of different VS versions.

like image 148
Martin Ullrich Avatar answered Oct 28 '22 22:10

Martin Ullrich