【问题标题】:MSBuild.Community.Tasks issue with vs2017vs2017 的 MSBuild.Community.Tasks 问题
【发布时间】:2017-04-07 15:15:03
【问题描述】:

伙计们,我在 2012 年首次创建了一组服务,这些服务 - 多年来 - 与 Vs2010、Vs2013 和 Vs2015 无缝构建。

当我尝试使用 Vs2017 构建时,我得到了

MSBuild.Community.Tasks.Attrib 任务无法从程序集中加载 该程序集位于C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\MSBuildCommunityTasks 文件夹下,但\2017\Professional\MSBuild 文件夹下没有MSBuildCommunityTasks 文件夹。

这是完整的错误

C:\working\MySolution\build\Build.proj" (default target) (1) ->
(SetAssemblyVersion target) ->
  C:\working\MySolution\build\Build.proj(100,5): error MSB4062: The "MSBuild.Community.Tasks.Attrib" task could not be loaded from the assembly C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\MSBuildCommunityTasks\MSBuild.Community.Tasks.dll. 
  Could not load file or assembly 'file:///C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\MSBuildCommunityTasks\MSBuild.Community.Tasks.dll' or one of its dependencies. 
  The system cannot find the file specified. Confirm that the <UsingTask> declaration is correct, that the assembly and all its dependencies are available, and that the task contains a public class that implements Microsoft.Build.Framework.ITask.

Vs2015 和 Vs2017 之间有什么变化?
我需要做什么来解决这个问题?

【问题讨论】:

  • 主要变化是安装路径。它现在嵌套在一个 VS 文件夹下,包括一个 edition 文件夹,但在安装独立构建工具的情况下除外。有关发行说明,请参阅 MSBuild release notes。您的问题可能是由于目标未放置在正确的新位置引起的。在他们的 git MSBuild issue 上有一个针对 Azure SDK 的未解决问题,有一些有用的建议可供尝试。
  • 谢谢 Siobhan,我会在星期一检查一下
  • 您可以将MSBuildCommunityTasks 复制到它要查找的位置。即复制文件夹C:\Program Files (x86)\MSBuild\MSBuildCommunityTasksC:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild

标签: msbuild visual-studio-2017


【解决方案1】:

显式设置MSBuildCommunityTasksPath 属性可以解决问题。

我在 build.proj 文件的顶部执行此操作。

(由于历史原因,我们将社区构建任务保留在我们的 repo 中,这就是为什么它被设置到主干下的位置)

<MSBuildCommunityTasksPath>$(trunk)\Ref\Build\MSBuildCommunityTasks</MSBuildCommunityTasksPath>

【讨论】:

    【解决方案2】:

    这些扩展很可能安装在“C:\Program Files (x86)\MSBuild”中。所以我目前在我的项目中明确设置变量作为一种解决方法。

    <MSBuildExtensionsPath>C:\Program Files (x86)\MSBuild</MSBuildExtensionsPath>
    

    【讨论】:

      【解决方案3】:

      在 VS2017 单个组件部分安装 .Net Framework 3.5 开发工具修复了我的构建。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-10-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多