50
votes

I'm trying to set up a build server for .NET, but can't figure out where MSBuild.exe is installed.

I'm trying to install MSBuild using the Microsoft Build Tools 2013: https://www.microsoft.com/en-us/download/details.aspx?id=40760

5
did you try "where msbuild" at the command line? note I'm assuming - quite possibly incorrectly - that it is added to the path - Marc Gravell
when I'm searching the C drive for MSBuild.exe, I only get paths to MSBuild.exe in C:\Windows. According to this on MSDN, MSBuild should be in Program Files: msdn.microsoft.com/en-us/library/hh162058.aspx - jonasm

5 Answers

45
votes

As per https://docs.microsoft.com/en-us/visualstudio/msbuild/what-s-new-in-msbuild-15-0

MSBuild is now installed in a folder under each version of Visual Studio. For example, C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild. You can also use the following PowerShell module to locate MSBuild: vssetup.powershell.

MSBuild is no longer installed in the Global Assembly Cache. To reference MSBuild programmatically, use NuGet packages.

44
votes

MSBuild in the previous versions of .NET Framework was installed with it but, they decided to install it with Visual Studio or with the package BuildTools_Full.exe.

The path to MSBuild when installed with the .NET framework:

C:\Windows\Microsoft.NET\Framework[64 or empty][framework_version]

The path to MSBuild when installed with Visual Studio is:

C:\Program Files (x86)\MSBuild[version]\Bin for x86

and

C:\Program Files (x86)\MSBuild[version]\Bin\amd64 for x64.

The path when BuildTools_Full.exe is installed is the same as when MSBuild is installed with Visual Studio.

30
votes

Open the Microsoft command line. I'm using Visual Studio 2019, so my command line is "Developer Command Prompt for VS 2019".

Then run the command:

where msbuild

And the path will be echo'd.

13
votes

You can find the VS2019 here : C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\MSBuild.exe

0
votes

This worked for me (this searches msbuild.exe in c:\ - the default didn't work)

where /R c:\ msbuild.exe