У меня возникла проблема, которую я не могу решить.
У меня консольное приложение .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, которой у меня нет?