.NET Core - Устранение неполадок PCL
В этой главе мы исправим ошибку, возникшую при установке пакета NuGet из нашего частного канала в проекте Xamarin.Forms.
Далее мы вкратце разберемся с проблемой. Для начала щелкните правой кнопкой мыши библиотеку PCL и выберите «Свойства».
На этой странице вы увидите целую серию целевых фреймворков. Из ошибки видно, что профиль .NETPortable 259 несовместим с нашей StringLibrary 1.0.1. Однако он пытается получить ссылку из библиотеки .NET Standard 1.1.
Давайте теперь посмотрим на стандартную библиотеку .NET и определим, какая платформа несовместима с нашей библиотекой.
Как видите, Windows Phone Silverlight 8 совместим с .NET Standard 1.0. Если вы откроете следующую веб-страницу, то увидите, что Profile259 поддерживает только .NET Standard 1.0.
Давайте теперь снимем флажок Windows Phone Silverlight 8.
Щелкните значок OK кнопка.
Теперь, чтобы исправить эту проблему, нажмите OK и закройте диалоговое окно «Изменить цели», затем откройте консоль диспетчера пакетов и выполните следующую команду.
PM > Uninstall-Package Xamarin.Forms
Теперь перейдем к свойствам библиотеки PCL. Щелкните по кнопке Изменить.
Снимите флажок Windows Phone Silverlight 8 и нажмите ОК.
Теперь вы можете видеть, что Windows Phone Silverlight 8 больше не доступен в целевой платформе. Вы также можете увидеть профиль, который сейчас является целью. Чтобы убедиться в этом, давайте выгрузим библиотеку PCL и отредактируем файл XamarinApp.csproj.
Теперь вы видите, что TargetFrameworkProfile теперь Profile111.
Если вы откроете документацию, то увидите, что Profile111 поддерживает .NET Standard 1.1.
Давайте теперь снова загрузим PCL, откроем диспетчер пакетов NuGet и попробуем установить пакет StringLibrary из частного канала.
В раскрывающемся списке поведения зависимости выберите Игнорировать зависимости и нажмите Install.
Вы можете видеть, что пакет StringLibrary теперь установлен из закрытого канала. Если вы развернете Ссылки PCL, вы увидите, что ссылка на StringLibrary также добавлена, как показано ниже.
Мы удалили Xamarin.Forms для проблемы Windows Phone Silverlight 8. Xamarin.Forms необходимо установить снова. Рекомендуется установить ту же версию.
После завершения установки позвольте нам использовать функцию StringLibrary в вашем приложении.