Существует недавний принцип разбора пакета Nuget.Подробнее смотрите, как NuGet анализирует зависимости пакетов.Для объяснения используется диаграмма Microsoft:
На этот раз вы выберете самый последний пакет - версию 2.0.без проблем.
Одна проблема, с которой я столкнулся сегодня, состоит в том, что один из моих пакетов Nuget (называемый Package A текущей версии 1.2.3) изначально поддерживает только версию netstandard 2.0, которая определена в файле csproj.
<TargetFramework>netstandard2.0</TargetFramework>
У меня есть другой продукт, пакет ECS Nuget (называемый Пакет B, версия 1.0.0), и Пакет B должен ссылаться на Пакет A.
Маршрут взаимосвязиis [Пакет B 1.0.0] -> [Пакет A 1.2.3]
В настоящее время два пакета в программе можно использовать в обычном режиме.
Позже, благодаря поддержкеплатформы .net я изменил исходный пакет A nuget и изменил его на следующий.
<TargetFrameworks>netstandard2.0;net45</TargetFrameworks>
Пакет Версия генерации пакета - 1.3.2.В настоящее время я обращаюсь к вышеупомянутым двум пакетам и нахожу, что компиляция в порядке, но я получаю ошибку во время выполнения.
Я могу решить вышеуказанную проблему,Обновление пакета B, но почему эта ошибка?Это из-за использования TargetFrameworks?Я также надеюсь, что большие люди будут указывать.