无法升级 Visual Studio 扩展以包含 Visual Studio 2017 兼容性

Trouble Upgrading Visual Studio extension to include Visual Studio 2017 compatibility

我正在尝试更新 Visual Studio 扩展以兼容 Visual Studio 2017 年的安装。我已按照以下每个页面(以及我搜索过的其他页面)中的步骤和说明进行操作):

最后,项目(和扩展)将在本地成功构建,但在我们的 TFS 构建服务器上失败并出现以下错误:

"d:\example\myproj\MyExtension\MyExtension.csproj" (Rebuild target) (25:7) ->
  d:\example\myproj\packages\Microsoft.VisualStudio.Sdk.BuildTasks.14.0.14.9.23\build\Microsoft.VisualStudio.Sdk.BuildTasks.14.0.targets(16,5): error MSB4175: The task factory "CodeTaskFactory" could not be loaded from the assembly "C:\Program Files (x86)\MSBuild.0\bin\Microsoft.Build.Tasks.v4.0.dll". Could not load file or assembly 'file:///C:\Program Files (x86)\MSBuild.0\bin\Microsoft.Build.Tasks.v4.0.dll' or one of its dependencies. The system cannot find the file specified. [d:\example\myproj\MyExtension\MyExtension.csproj]

它正在寻找的程序集来自 Microsoft.VisualStudio.Sdk.BuildTasks.14.0.targets 文件,并且在目标 (12.0) MSBuild 目录中,有问题的文件 (Microsoft.Build.Tasks。 v4.0.dll) 不存在。本地构建从系统上的 Reference Assembly 文件夹中解析有问题的文件:

6>  Dependency "Microsoft.Build.Tasks.v4.0, Version=4.0.0.0, 
Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a".
6>      Resolved file path is "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\Microsoft.Build.Tasks.v4.0.dll".

有没有其他人遇到过这个错误,可以告诉我为什么我们的构建服务器会出现这个问题?

补充说明:我在本地计算机和相关构建服务器上都是 运行 Visual Studio 2015(更新 3)。

如果在本地运行,只需在 TFS 上创建一个新项目并传输它,在您将其映射到您的计算机后打开项目时,任何丢失的包将被重新存储。

The assembly it's looking for is coming from the Microsoft.VisualStudio.Sdk.BuildTasks.14.0.targets file, and within the target (12.0) MSBuild directory, the file in question (Microsoft.Build.Tasks.v4.0.dll) doesn't exist.

根据错误消息 "C:\Program Files (x86)\MSBuild.0",您似乎在构建服务器上使用的是 MSBuild 12.0 而不是 MSBuild 14.0。使用 TFS 构建时,请确保从路径 C:\Program Files (x86)\MSBuild.0\Bin 调用 MSBuild。因此,请检查 MSBuild 版本是否为 14.0 或 TFS 定义中的 MSBuild 路径是否为 C:\Program Files (x86)\MSBuild.0\Bin

此外,请检查您是否在构建服务器上安装了.net framework 4.5.1,如果没有,请安装它,然后重建解决方案。

希望对您有所帮助。