首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >MSBuild的路径

MSBuild的路径
EN

Stack Overflow用户
提问于 2008-11-29 21:12:52
回答 16查看 195.1K关注 0票数 203

如何从运行.exe的机器上以编程方式获取MSBuild的路径?

我可以从环境中获取.NET版本,但是有没有方法可以为.NET版本获取正确的文件夹?

EN

回答 16

Stack Overflow用户

回答已采纳

发布于 2008-11-29 22:59:06

查看注册表,看起来像是

代码语言:javascript
复制
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\2.0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\3.5
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\4.0

这可能就是你想要的;打开regedit.exe看看吧。

通过命令行查询(每个Nikolay Botev)

代码语言:javascript
复制
reg.exe query "HKLM\SOFTWARE\Microsoft\MSBuild\ToolsVersions\4.0" /v MSBuildToolsPath

通过PowerShell查询(每个MovGP0)

代码语言:javascript
复制
dir HKLM:\SOFTWARE\Microsoft\MSBuild\ToolsVersions\
票数 151
EN

Stack Overflow用户

发布于 2013-03-16 15:13:19

您还可以将MSBuild.exe的路径打印到命令行:

代码语言:javascript
复制
reg.exe query "HKLM\SOFTWARE\Microsoft\MSBuild\ToolsVersions\4.0" /v MSBuildToolsPath
票数 142
EN

Stack Overflow用户

发布于 2012-11-21 01:32:10

如果您想对.Net 4使用MSBuild,那么您可以使用以下PowerShell命令来获取可执行文件的路径。如果你想要2.0或3.5版本,那么只需修改$dotNetVersion变量即可。

要运行可执行文件,您需要在$msbuild变量前面加上&。将执行该变量的。

代码语言:javascript
复制
# valid versions are [2.0, 3.5, 4.0]
$dotNetVersion = "4.0"
$regKey = "HKLM:\software\Microsoft\MSBuild\ToolsVersions\$dotNetVersion"
$regProperty = "MSBuildToolsPath"

$msbuildExe = join-path -path (Get-ItemProperty $regKey).$regProperty -childpath "msbuild.exe"

&$msbuildExe
票数 34
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/328017

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档