0

如何在我的服务器上定位 MSBuild 15.0?我在服务器上安装了 15.0,但我的项目仍在使用 14.0 构建。我知道 Microsoft 已对目录位置进行了一些更改,并且不再使用 15.0 的注册表值。

我发现 15.0 安装在以下位置:
C:\Program Files (x86)\MSBuild\15.0
C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild

我在这里安装了.Net framework 4.6.2:“C:\Windows\Microsoft.NET\Framework64\v4.0.30319”

谢谢!

产品:BuildMaster
版本:5.7.2



更新1:

响应@emiel-koning,我尝试在构建步骤中指定 $MSBuildToolsPath 使用:

set $MSBuildToolsPath = C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin;

但我收到此错误:
错误 MSB4226:导入的项目“C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\Microsoft\VisualStudio\v15.0\WebApplications\Microsoft.WebApplication.targets”不是成立。此外,尝试在 $(VSToolsPath) 的后备搜索路径中找到 "WebApplications\Microsoft.WebApplication.targets" - "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v15.0" 。这些搜索路径在“C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\msbuild.exe.Config”中定义。确认声明中的路径正确,并且该文件存在于磁盘上的搜索路径之一中。

更新 2:

我会丢失构建服务器上安装的东西吗?我安装了Visual Studio Build Tools,它给了我 MSBuild 15.0,但没有来自上述错误的 WebApplication.targets 文件



解决方案
我还通过安装“Web 开发构建工具”组件来解决我的问题。我还在服务器级别设置了 $MSBuildToolsPath,直到我可以在全球范围内推出新的 MSBuild。 在此处输入图像描述

4

2 回答 2

1

通常,这是由ToolsVersion项目文件的属性处理的。如果未指定以下配置,则应使用此选项。

特别是在 BuildMaster 中,您可以在 Administration > BuildMaster Extensions > Windows SDK > Configuration 选项卡上为每个服务器覆盖此值。单击$MSBuildToolsPath(并可选择在特定范围覆盖)值为C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin

对更新 #1 和 #2 的响应:

首先,不要在计划本身中设置该变量(否则您必须在每个计划中设置它)。按照我上面描述的方式设置它。就个人而言,我总是在服务器级别指定它的值,因为每个服务器可能将它安装在不同的位置。

至于 Microsoft.WebApplication.targets,我认为唯一支持的构建 Web 应用程序项目的方法是在构建服务器上安装 Visual Studio;虽然过去我只是将本地安装 (C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\WebApplications) 中的目标复制到 MSBuild 期望它们的路径中。

于 2017-07-12T19:55:30.547 回答
1

您可以使用$MSBuildToolsPath指定正确的 MSBuild 路径吗?

于 2017-07-13T11:37:28.427 回答