MSBuild.Community.Tasks vs2017 问题
MSBuild.Community.Tasks issue with vs2017
伙计们,我有一组服务是在 2012 年首次创建的,多年来,这些服务已经与 Vs2010、Vs2013 和 Vs2015 无缝构建。
当我尝试使用 Vs2017 构建时,我得到
无法从程序集中加载 MSBuild.Community.Tasks.Attrib 任务
该程序集位于 C:\Program Files (x86)\Microsoft Visual Studio17\Professional\MSBuild\MSBuildCommunityTasks
文件夹下,但是 17\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 Studio17\Professional\MSBuild\MSBuildCommunityTasks\MSBuild.Community.Tasks.dll.
Could not load file or assembly 'file:///C:\Program Files (x86)\Microsoft Visual Studio17\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 有什么变化?
我需要做什么来解决这个问题?
明确设置 MSBuildCommunityTasksPath
属性 可以解决问题。
我在 build.proj 文件的顶部执行此操作。
(由于历史原因,我们将社区构建任务保留在我们的 repo 中,这就是为什么将其设置为 trunk 下的位置)
<MSBuildCommunityTasksPath>$(trunk)\Ref\Build\MSBuildCommunityTasks</MSBuildCommunityTasksPath>
这些扩展很可能安装在 'C:\Program Files (x86)\MSBuild' 中。所以我目前在我的项目中明确设置变量作为解决方法。
<MSBuildExtensionsPath>C:\Program Files (x86)\MSBuild</MSBuildExtensionsPath>
在 VS2017 单个组件部分安装 .Net Framework 3.5 开发工具修复了我的构建。
伙计们,我有一组服务是在 2012 年首次创建的,多年来,这些服务已经与 Vs2010、Vs2013 和 Vs2015 无缝构建。
当我尝试使用 Vs2017 构建时,我得到
无法从程序集中加载 MSBuild.Community.Tasks.Attrib 任务
该程序集位于 C:\Program Files (x86)\Microsoft Visual Studio17\Professional\MSBuild\MSBuildCommunityTasks
文件夹下,但是 17\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 Studio17\Professional\MSBuild\MSBuildCommunityTasks\MSBuild.Community.Tasks.dll.
Could not load file or assembly 'file:///C:\Program Files (x86)\Microsoft Visual Studio17\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 有什么变化?
我需要做什么来解决这个问题?
明确设置 MSBuildCommunityTasksPath
属性 可以解决问题。
我在 build.proj 文件的顶部执行此操作。
(由于历史原因,我们将社区构建任务保留在我们的 repo 中,这就是为什么将其设置为 trunk 下的位置)
<MSBuildCommunityTasksPath>$(trunk)\Ref\Build\MSBuildCommunityTasks</MSBuildCommunityTasksPath>
这些扩展很可能安装在 'C:\Program Files (x86)\MSBuild' 中。所以我目前在我的项目中明确设置变量作为解决方法。
<MSBuildExtensionsPath>C:\Program Files (x86)\MSBuild</MSBuildExtensionsPath>
在 VS2017 单个组件部分安装 .Net Framework 3.5 开发工具修复了我的构建。