Ближе к делу:
Как мое решение / проект Visual Studio, написанное на .Net 5, успешно компилируется и запускается, когда он ссылается на пакет NuGet .Net Core 3.1?
Подробнее
У меня было решение Visual Studio с несколькими проектами. Все написано на .Net Core 3.1 с целевой структурой netcoreapp3.1. См. ниже.
<TargetFramework>netcoreapp3.1</TargetFramework>
Я обновил весь проект до .Net 5 с целевой структурой net5.0 См. Ниже.
<TargetFramework>net5.0</TargetFramework>
Мне пришлось обновить их все, даже те, в которых есть только классы POCO. В противном случае решение не будет компилироваться, что для меня имеет смысл.
Мое решение ссылается на 2 пакета NuGet. Написано другим разработчиком из моей компании. Кого больше нет с нами.
Один из пакетов написан на .Net Standard. Я полностью понимаю, почему у меня нет проблем с этим пакетом. Он использует указанную ниже целевую структуру.
<TargetFramework>netstandard2.1</TargetFramework>
Однако другой пакет использует целевую платформу netcoreapp3.1. (У меня есть доступ к исходному коду.)
Мое решение соответствует требованиям и отлично работает локально. Я не понимаю, как это возможно.
Почему мне пришлось обновить весь мой проект в моих решениях до .Net 5. Но пакет не нужно было обновлять. Я был готов обновить его.
Было ли это упаковано по-особенному?
Любой внутренний был бы полезен.
Я просто пытаюсь это понять.