Проект .NET Core не ссылается автоматически на библиотеку net40 в пакете NuGet - PullRequest
0 голосов
/ 27 августа 2018

В проектах .NET Core у вас нет явных ссылок на сборки в пакете NuGet. Вместо этого у вас просто есть этот фрагмент в файле проекта:

<ItemGroup>
  <PackageReference Include="PackageName" Version="1.2.3" />
</ItemGroup>

и ожидается, что набор инструментов .NET Core позаботится о загрузке / установке пакета, а затем о правильной сборке внутри. Тем не менее, это не работает для меня в этом случае.

Я работаю над сборкой библиотеки в пакет NuGet. Это библиотека .NET Framework 4.0. У меня также есть проект .NET Core 2.1, который ссылается на эту библиотеку. Это прекрасно работает с явной ссылкой на сборку, при тестировании проблем не обнаружено, а .NET Portability Analyzer дает библиотеке отличную оценку.

Когда я объединяю библиотеку в пакет NuGet в каталоге lib / net40, а затем добавляю ссылку на пакет из моего проекта .NET Core 2.1, проект автоматически не ссылается на библиотеку, как ожидалось. Я должен поместить библиотеку в каталог lib / netstandard2.0 для автоматической ссылки на работу. Я не хочу этого делать, потому что библиотека на самом деле не является библиотекой .NET Standard 2.0.

Как переопределить поведение автоматической ссылки .NET Core для ссылки на библиотеку в каталоге lib / net40? Я нашел эту документацию о режиме совместимости .NET Framework для пакетов NuGet, на которые ссылаются из проектов .NET Core, но я предполагаю, что это применимо только к net45 и выше.

...