Почему переходные зависимости не разрешаются для пользовательской задачи MSBuild в пакете NuGet? - PullRequest
0 голосов
/ 27 июня 2018

У меня есть пользовательская задача MSBuild, которая содержится в пакете NuGet. Каталог сборки пакета содержит целевой файл, который использует задачу, поэтому пользователю нужно только добавить ссылку на пакет для выполнения задачи MSBuild.

Эта часть отлично работает. Однако зависимости пакета для моей пользовательской задачи не разрешаются, поэтому MSBuild выдает исключение, сообщающее, что сборка не найдена,

Есть идеи?

1 Ответ

0 голосов
/ 28 июня 2018

Вам необходимо включить все зависимости рядом с файлом dll задачи, чтобы MSBuild мог их найти. Эти зависимости не имеют ничего общего с зависимостями или графом зависимостей пакетов создаваемого проекта, а просто загружают файлы DLL MSBuild.

Я предлагаю взглянуть на https://github.com/AArnott/Nerdbank.MSBuildExtension, который представляет собой пакет инструментов NuGet, который помогает создавать задачи MSBuild, которые могут работать на .NET Core и .NET Framework MSBuild (dotnet инструменты и msbuild.exe) с базовый класс задач, помогающий изолировать зависимости, поскольку вы не можете загружать сборки, конфликтующие с уже загруженными в VS, или конфликтующие с зависимостями другой задачи.

...