【问题标题】:msbuild.exe location on windows 8 with VS2012带有 VS2012 的 Windows 8 上的 msbuild.exe 位置
【发布时间】:2013-06-27 23:55:06
【问题描述】:

我正在尝试设置 Jenkins CI 服务器来部署 .NET 4.5 应用程序,但我无法在运行 Visual Studio 2012 的 Windows 8 机器上找到 msbuild exe。有什么想法吗?

【问题讨论】:

  • 不是还在%windir%\Microsoft.Net\Framework\v4.????
  • 是的……是的。我坚持认为它通常在 Program Files/Microsoft.Net 中,哦,天哪,这是漫长的一天。如果您希望我标记它,请提交评论作为答案。谢谢。

标签: visual-studio-2012 windows-8 msbuild jenkins continuous-integration


【解决方案1】:

确保您已经安装了相应的.Net 框架。 您可以按照此示例路径找到 build.exe

C:\Windows\Microsoft.NET\Framework\v4.5\MSBuild.exe

【讨论】:

  • 对我的问题的评论解决了它,但你也正确,所以不妨给别人点。
  • 技术上这是错误的,您应该使用注册表找到它:HKLM:\SOFTWARE\Microsoft\MSBuild\ToolsVersions\${Version}\MSBuildToolsPath
【解决方案2】:

定位MSBuild的正确方法是使用注册表。

这是查找特定版本的 .exe 的 powershell 实现

$regKey = "HKLM:\SOFTWARE\Microsoft\MSBuild\ToolsVersions\${Version}"
$itemProperty = Get-ItemProperty $RegKey -ErrorAction SilentlyContinue
if ($itemProperty -ne $null -and $itemProperty.MSBuildToolsPath -ne $null)
{
     $msBuildPath = Join-Path $itemProperty.MSBuildToolsPath -ChildPath "MsBuild.exe"
}

【讨论】:

    【解决方案3】:

    我不喜欢其他答案。因为在C:\Windows\Microsoft.NET\Framework\ 或注册表中,您无法找到与 Visual Studio 一起安装或单独作为构建工具安装的新 msbuild 版本。最好的方法是使用vswhere find msbuild

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多