如何从运行.exe的机器上以编程方式获取MSBuild的路径?
我可以从环境中获取.NET版本,但是有没有方法可以为.NET版本获取正确的文件夹?
发布于 2008-11-29 22:59:06
查看注册表,看起来像是
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)
reg.exe query "HKLM\SOFTWARE\Microsoft\MSBuild\ToolsVersions\4.0" /v MSBuildToolsPath
通过PowerShell查询(每个MovGP0)
dir HKLM:\SOFTWARE\Microsoft\MSBuild\ToolsVersions\
发布于 2013-03-16 15:13:19
您还可以将MSBuild.exe的路径打印到命令行:
reg.exe query "HKLM\SOFTWARE\Microsoft\MSBuild\ToolsVersions\4.0" /v MSBuildToolsPath
发布于 2012-11-21 01:32:10
如果您想对.Net 4使用MSBuild,那么您可以使用以下PowerShell命令来获取可执行文件的路径。如果你想要2.0或3.5版本,那么只需修改$dotNetVersion变量即可。
要运行可执行文件,您需要在$msbuild变量前面加上&。将执行该变量的。
# 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
https://stackoverflow.com/questions/328017
复制相似问题