在不安装Visual Studio的情况下获取msbuild.exe

94

如何在不安装疯狂的Visual Studio程序的情况下获得msbuild.exe?

我需要它来完成npm安装。我使用的是Windows 7,无法在线获取Visual Studio 2013 Express的旧版本。


2
据我所知,它是与.NET框架一起提供的。否则,只需要Windows SDK即可。 - leppie
6
从Visual Studio 2013开始,MSBuild不再是.NET Framework的一部分。旧版本仍与框架一起提供。 - Mike Zboray
4个回答

151

最新(截至2019年1月)独立的MSBuild安装程序可在此处找到:https://www.visualstudio.com/downloads/

向下滚动至“Visual Studio 2019工具”并选择“Visual Studio 2019构建工具”(尽管名称如此,但是它适用于不需要完整IDE的用户)

有关更多信息,请参见此问题


28
找到 MSBuild.exe 的安装位置花了一些时间。默认情况下,它在这里:C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin - Nikola M.
3
例如,可以参考这个问题,其中详细说明了如何仅安装Visual Studio 2017 Build Tools(而不包括IDE)。 - Wai Ha Lee
6
该工具现已列在“Visual Studio 2017 工具”下,而不再是“其他工具和框架”部分。 - Frank Liu
6
C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Current\Bin 是今天的位置。 - ValGe
在 Visual Studio 2022 中,该工具安装在以下路径:C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\MSBuild\Current\Bin - Erel Segal-Halevi

22

1
但是这个版本已经过时了。我怎么获取v15版本? - Gabriel
1
@Rigel 我不知道你是否特别需要VS2015的构建工具,但是这个问题详细介绍了如何获取2017工具。 - Wai Ha Lee

4

0

从@Nicodemeus的链接answer下载MSBuild是可以的,但是安装一直失败,直到我将这些密钥添加到注册表中:

[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\MSBuild\ToolsVersions\12.0]
"VCTargetsPath11"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath11)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\V110\\'))"
"VCTargetsPath"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\V110\\'))" 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接