Подтвердить что ты не робот

MSBuild.Community.Tasks проблема с vs2017

Люди. У меня есть набор сервисов, впервые созданных в 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?
Что мне нужно сделать, чтобы исправить это?

4b9b3361

Ответ 1

Явная установка свойства MSBuildCommunityTasksPath проходит мимо проблемы.

Я делаю это в верхней части моего файла build.proj.

(По историческим причинам мы сохраняем задачи сборки сообщества в нашем репо, поэтому он задает местоположение под туловищем)

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

Ответ 2

Расширения, скорее всего, установлены в 'C:\Program Files (x86)\MSBuild'. Поэтому в настоящее время я устанавливаю переменную явно в моем proj как обходной путь.

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

Ответ 3

Установка инструментов разработки .Net Framework 3.5 в разделе отдельных компонентов VS2017 исправила мою сборку.