Как заставить использование определенной версии пакета, используя PackageReference - PullRequest
0 голосов
/ 24 октября 2019

У меня возникла проблема, которую я не могу решить.

У меня консольное приложение .NET Core 2.0. Для этого приложения требуется пакет ниш-нюгет, который доступен только локально. Давайте назовем его NicheNuget.

Как консольное приложение, так и пакет NicheNuget зависят от второго пакета, который мы можем назвать SecondNuget. Этот SecondNuget также является пакетом, который у меня есть только локально, и имеет только одну версию.

Мое консольное приложение ссылается на эти пакеты:

<PackageReference Include="NicheNuget" Version="1.0.0.8" />
<PackageReference Include="SecondNuget" Version="0.0.0.45" />

Все компилируется, и все прекрасно, покамое консольное приложение пытается использовать SecondNuget:

system.IO.FileLoadException: не удалось загрузить файл или сборку 'NicheNuget, версия = 2.0.0.1, культура = нейтральная, PublicKeyToken = null'. Определение манифеста обнаруженной сборки не соответствует ссылке на сборку. (Исключение из HRESULT: 0x80131040)

Я абсолютно на 200% уверен, что ни мое консольное приложение, ни какой-либо проект, который у меня есть, не пытаются получить версию 2.0.0.1 NicheNuget. И я могу нормально использовать пакет NicheNuget через мое консольное приложение. SecondNuget, однако, не играет хорошо. Когда я вызываю класс, использующий SecondNuget, я получаю исключение FileLoadException. Это заставляет меня поверить, что SecondNuget пытается найти NicheNuget с версией, которой у меня нет.

SecondNuget должен нормально работать с той версией, которую я имею в NicheNuget. Я знаю, что они совместимы. То, на чем я полностью потерялся:

** Как я могу принудительно использовать NicheNuget версии 1.0.0.8 на SecondNuget вместо попытки использовать 2.0.0.1, которой у меня нет?

...