У меня есть предоставленная поставщиком DLL, основанная на .NET Framework. У меня нет доступа к коду, и у меня есть только DLL. Я упаковал эту DLL в пакет nuget, и теперь я пытаюсь передать это в стандартный проект .NET. Но я получаю предупреждение: пакет «MyPackage 0.0.1» был восстановлен с использованием «.NETFramework, версия = v4.6.1» вместо целевой платформы проекта «.NETStandard, версия = v2.0». Этот пакет может быть не полностью совместим с вашим проектом.
Если я отсылаю DLL непосредственно к стандартному проекту .NET, это предупреждение не отображается. Но использование его после создания пакета nuget показывает это.
Я также попытался создать стандартный проект библиотеки .NET, добавил ссылку на DLL, а затем создал пакет nuget, но все же он показывал то же предупреждение.
Есть ли другой способ сделать это? Поставщик не предоставляет библиотеки DLL, предназначенные для других платформ, и мне приходится использовать их после упаковки в Nuget из-за требований.
@Perry Qian-MSFT Я не упаковывал его в стандартный сетевой проект. Сначала я создал пакет nuget, включающий существующую DLL-библиотеку net framework, а затем направил этот пакет nuget в стандартный проект net. То есть, когда я получаю вышеупомянутую ошибку.
Вы ссылались на сетевую структуру непосредственно в сетевом стандартном проекте nuget?
Со своей стороны я тестирую ситуацию, как вы описали. Создайте проект сетевой стандартной библиотеки с именем test
, затем используйте этот узел для включения в пакет.
1) создайте проект net standard lib nuget с именем test
и добавьте только этот узел в файл test.csproj
:
<ItemGroup>
<None Include = "xxx\xxx\xxx.dll"(the whole path of the net framework dll) Pack = "true" PackagePath = "lib\$(TargetFramework)"></None>
</ItemGroup>
2) щелкните правой кнопкой мыши стандартный тестовый проект сети -> нажмите кнопку «Упаковать», и вы сможете получить новую версию пакета nuget.
Прежде чем устанавливать пакет nuget в другой основной проект, вы должны сначала очистить кэши nuget или удалить все файлы в разделе C:\Users\xxx(current user)\.nuget\packages
.
И я не сталкивался с проблемой на своей стороне со всеми вышеперечисленными шагами.
Как вы упаковали dll в стандартный проект сети?