【问题标题】:Trouble Upgrading Visual Studio extension to include Visual Studio 2017 compatibility升级 Visual Studio 扩展以包含 Visual Studio 2017 兼容性时遇到问题
【发布时间】:2018-12-10 11:26:24
【问题描述】:

我正在尝试更新 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\12.0\bin\Microsoft.Build.Tasks.v4.0.dll". Could not load file or assembly 'file:///C:\Program Files (x86)\MSBuild\12.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)。

【问题讨论】:

    标签: c# visual-studio visual-studio-2017 visual-studio-extensions


    【解决方案1】:

    它正在寻找的程序集来自 Microsoft.VisualStudio.Sdk.BuildTasks.14.0.targets 文件,在目标 (12.0) MSBuild 目录中,有问题的文件 (Microsoft.Build.Tasks.v4.0. dll) 不存在。

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

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

    希望这会有所帮助。

    【讨论】:

    • 感谢您的建议。我开始深入研究解决方案中的项目文件(csproj),发现一些(包括有问题的项目)针对的是 12.0.0。将此更新为“4.0”解决了相关错误。我现在有一个新错误:error VSSDK1001: Unable to find Microsoft.VisualStudio.CommandTable.VSCTCompiler type in '...\packages\Microsoft.VisualStudio.Sdk.BuildTasks.14.0.14.9.23\tools\VSSDK\bin\VSCT.exe' Assembly. ...但这是另一篇文章的主题。谢谢!
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-13
      • 2017-08-28
      • 2018-12-13
      • 2019-02-23
      • 1970-01-01
      相关资源
      最近更新 更多