Разрешение конфликтующих зависимостей с помощью nuget.client dll - PullRequest
0 голосов
/ 06 ноября 2018

Как мне разрешить конфликтующие зависимости между моим расширением visual studio и встроенным менеджером пакетов nuget? Я получаю сообщение об ошибке, которое Nuget.PackageManagement.VisualStudio, Version=5.0.0.0 пытается решить Microsoft.VisualStudio.ProjectSystem, Version=16.0.0.0, но не может его найти. Я не ссылаюсь ни на один из этих пакетов для перечисленных версий. Я ссылаюсь на Nuget.PackageManagement.VisualStudio, Version=4.8.0.6 и не ссылаюсь на Microsoft.VisualStudio.ProjectSystem. Я пошел, чтобы добавить эти пакеты, но версии 5.0 Nuget.PackageManagement.VisualStudio и 16.0 Microsoft.VisualStudio.ProjectSystem не существует на nuget.org, даже глядя на предварительные пакеты.

Я знаю, что могу просто взять нужные мне библиотеки из C:\Documents and Settings\<my user>\AppData\Local\Microsoft\VisualStudio\15.0_c9b36733Exp\Extensions\Microsoft Corporation\NuGet Package Manager for Visual Studio 2017\15.99.99, но я уверен, что это не намеченный способ решить эту проблему. Я также знаю, что мог бы изменить перенаправления привязки визуальной студии, но я бы предпочел не делать этого. Могу ли я решить эту проблему, не прибегая к извлечению dll из расширения диспетчеров пакетов Visual Studio и не изменяя перенаправления привязки devenv.exe?

1 Ответ

0 голосов
/ 07 ноября 2018

Текущая схема управления версиями команды NuGet на 11 основных версий отличается от VisualStudio. Итак, NuGet v5.0.0 ориентирован на Visual Studio v16.0.0, то есть Visual Studio 2019, которая еще не выпущена. Расширение Visual Studio 2017 должно предназначаться для VS15.x, поэтому требуется библиотека NuGet v4.x.

Итак, вам нужно просмотреть свои зависимости и выяснить, что влечет за собой NuGet.PackageManagement.VisualStudio 5.0.0, и убедиться, что вместо этого он получает версию 4.x.x.

...