4
votes

Does dotnet framework 4.5 include an updated version of msbuild.exe?

We are using Windows 7 Enterprise SP1 (64bit) with the following installed programs;

  • Microsoft Visual Studio 2012 (version 11.0.60315.01 Update 2)
  • Microsoft .NET Framework 4.5.2
  • Microsoft .NET Framework 4.5 SDK
  • Microsoft .NET Framework 4.5 Multi-Targeting Pack
  • Microsoft .NET Framework 4 Multi-Targeting Pack

Running msbuild in "VS2012 x86 Native Tools Command Prompt" it appear to run the dotnet 4.0 version of msbuild located at C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe

There is no folder called C:\Windows\Microsoft.NET\Framework\v4.5...

Where does dotnet framework 4.5 install its files?

1
MSBuild has never been part of the .NET Framework. So no. Pretty messy, it used to be delivered as part of the Windows SDK, today it is delivered through the VS installer. C:\Program Files (x86)\MSBuild has been the install location since VS2010. They are keeping a copy in C:\Windows\Microsoft.NET\Framework\v4.0.30319 to keep existing legacy build scripts running.Hans Passant
Interesting. Just assumed msbuild was part of dotnet due to location.Lars

1 Answers

7
votes

Starting in VS 2013, MSBuild is part of Visual Studio instead of the .NET Framework.

From The Visual Studio Blog's "MSBuild is now part of Visual Studio!":

We made a number of exciting changes to MSBuild for Visual Studio 2013, including rethinking the fundamental relationship between MSBuild, Visual Studio, and the .NET Framework. MSBuild has shipped as a component of the .NET framework since it was first introduced in 2005 with .NET 2.0, despite the fact that it is, first and foremost, a development tool leveraged primarily by Visual Studio developers. Starting with Visual Studio 2013, the 2013 version of MSBuild will ship as a part of Visual Studio instead of the .NET Framework. This transition allows us to more rapidly evolve MSBuild.

and:

On 32-bit machines they can be found in: C:\Program Files\MSBuild\12.0\bin On 64-bit machines the 32-bit tools will be under: C:\Program Files (x86)\MSBuild\12.0\bin and the 64-bit tools under: C:\Program Files (x86)\MSBuild\12.0\bin\amd64

You can find MSBuild locations by typing in Developer Command Prompt for Visual Studio:

where msbuild

Should output both the legacy (4.0) and the newest binary (12.0,14.0+) locations:

C:\Program Files (x86)\MSBuild\12.0\Bin\MSBuild.exe
C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe

With VS 2012 you can use MSBuild 4.0.