【发布时间】:2021-02-02 22:30:38
【问题描述】:
我们有两台构建服务器,一个新创建的项目决定只想在其中一台上成功构建。它在失败的构建服务器上给出了这个错误:
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 中失败。)
【问题讨论】:
-
也许以下帖子会有所帮助:stackoverflow.com/questions/44061932/…
-
嗨 Oblivious,有关于这个问题的更新吗?
-
@PerryQian-MSFT 您好 Perry,我不管理构建服务器,但我将您的建议转交给了 DevOps,他们认为这听起来不错,并会在接下来的几天内在时间允许的情况下进行尝试。
-
@ObliviousSage,好吧。希望您的任何反馈:)
-
@ObliviousSage,有关于这个问题的更新吗?
标签: c# msbuild visual-studio-2017 visual-studio-2017-build-tools