Форма Xamarin: дает ли это ограничение доступа к библиотекам

У меня проблема с этими пакетами, которые я хотел использовать в своей форме Xamarin, используя стандарт .net 2.0.

    Package 'ExifLib.PCL 1.0.1' was restored using '.NETFramework,Version=v4.6.1' instead of the project target framework '.NETStandard,Version=v2.0'. This package may not be fully compatible with your project.
Package 'Microsoft.Bcl 1.1.6' was restored using '.NETFramework,Version=v4.6.1' instead of the project target framework '.NETStandard,Version=v2.0'. This package may not be fully compatible with your project.
Package 'Microsoft.Bcl.Async 1.0.165' was restored using '.NETFramework,Version=v4.6.1' instead of the project target framework '.NETStandard,Version=v2.0'. This package may not be fully compatible with your project.
Package 'Mobilist.AdvancedTimer.Forms.Plugin 1.0.1' was restored using '.NETFramework,Version=v4.6.1' instead of the project target framework '.NETStandard,Version=v2.0'. This package may not be fully compatible with your project.
Package 'PCLStorage 1.0.2' was restored using '.NETFramework,Version=v4.6.1' instead of the project target framework '.NETStandard,Version=v2.0'. This package may not be fully compatible with your project.
Package 'Rg.Plugins.Popup 1.0.4' was restored using '.NETFramework,Version=v4.6.1' instead of the project target framework '.NETStandard,Version=v2.0'. This package may not be fully compatible with your project.

Означает ли это, что я больше не могу использовать эту библиотеку?


person LittleFunny    schedule 12.12.2017    source источник


Ответы (1)


Означает ли это, что я больше не могу использовать эту библиотеку?

Нет, вы должны иметь возможность использовать почти все библиотеки, совместимые со спецификацией PCL, внутри библиотеки классов .NET Standard 2.0. Вы можете ознакомиться с документацией по .NET. список профилей PCL с их поддерживаемой платформой и соответствующей поддерживаемой версией .NET Standard.


Объяснение предупреждений о пакетах

С помощью .NET Standard 2.0 и обновленного инструментария в .NET Core SDK 2+ команда разработчиков .NET хотела упростить обновление или использование библиотек .NET Standard. Проблема в том, что не все пакеты NuGet были обновлены для поддержки версии .NET Standard. Поэтому они представили резервный таргетинг .NET Framework 4.6.1, который составляет почти 100 % соответствует стандарту .NET (есть некоторые API, которые входят в спецификацию .NET Standard 2.0, но не входят в .NET Framework 4.6.1, но при необходимости их можно добавить с помощью пакетов NuGet). Таким образом, предупреждение, которое вы видите, должно сообщить вам, что пакеты не соответствуют версии .NET Standard, на которую вы ориентируетесь, и поэтому могут содержать API, которые не исполняются в вашей среде выполнения, использующей вашу библиотеку .NET Standard 2.0.

После того, как вы проверили, что все работает должным образом, вы можете добавить NoWarn="NU1701" к PackageReference в csproj, что удалит предупреждение. Следует отметить, что добавление NoWarn="NU1701" к отдельному пакету не удаляет предупреждение о зависимостях. Чтобы удалить эти предупреждения, вы должны либо включить их как PackageReferences (через NuGet), либо игнорировать предупреждение NU1701 на уровне проекта.

Если у вас возникнут проблемы с откатом, вы можете настроить откат целевой платформы, переопределив AssetTargetFallback в вашем csproj на что-то вроде:

<AssetTargetFallback>$(AssetTargetFallback);portable-net45+win8+wpa81;</AssetTargetFallback>
person Plac3Hold3r    schedule 17.12.2017