0

我们有两个构建服务器,一个新创建的项目决定它只想在其中一个上成功构建。它在失败的构建服务器上给出了这个错误:

MyLovelyNewProject.csproj(380,11):错误 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\amd64\MSBuild.exe.Config”中定义。确认声明中的路径正确,并且该文件存在于磁盘上的搜索路径之一中。

我们的 DevOps 人员调查并确定一台服务器具有 v15.0 构建工具,其中一台具有 v15.9 构建工具。新项目无法在具有 v15.9 构建工具的服务器上构建,因为它专门寻找 v15.0 构建工具。

我们所有的其他项目在两个构建服务器上都构建得很好,但我无法在他们的 .sln 或 .csproj 文件中找到与新项目不同的任何内容。如何重新定位/重新配置新项目,以便无论给定服务器具有哪个版本的构建工具,它都能成功构建?

(如果你想建议 DevOps 同步构建服务器以拥有相同版本的构建工具,我同意!唉,他们正忙于主要的服务器迁移,我希望新项目没有 50%他们在解决 CI 时失败的机会。)

4

1 回答 1

2

我认为这个问题与Build Tool v15.9而不是您的项目有关。在该服务器上,您没有在V15.9 Build Tool上安装 Web 项目的构建工作负载,因此它无法指定 Web 项目并且缺乏构建 Web 项目的能力。或者,构建工具由于某些原因而损坏。

您可以尝试以下步骤:

1)尝试打开vs_installer,点击修改

在此处输入图像描述

选择Web开发构建工具工作负载进行安装,另外,如果你有一个asp net core web项目,别忘了安装.Net Core构建工具工作负载。

在此处输入图像描述

在此处输入图像描述

为了确保这一点,我删除了Web 开发构建工具的工作量,并为 Web 项目遇到了同样的问题。

在此处输入图像描述

2)如果还是不行,请点击Repair for Build Tool V15.9进行修复。

在此处输入图像描述

于 2021-02-03T02:29:01.737 回答