.NET Core - Устранение неполадок PCL
В этой главе мы исправим ошибку, возникшую при установке пакета NuGet из нашего частного канала в проекте Xamarin.Forms.
![](https://post.nghiatu.com/assets/tutorial/dotnet_core/images/fixing_error.jpg)
Далее мы вкратце разберемся с проблемой. Для начала щелкните правой кнопкой мыши библиотеку PCL и выберите «Свойства».
На этой странице вы увидите целую серию целевых фреймворков. Из ошибки видно, что профиль .NETPortable 259 несовместим с нашей StringLibrary 1.0.1. Однако он пытается получить ссылку из библиотеки .NET Standard 1.1.
![](https://post.nghiatu.com/assets/tutorial/dotnet_core/images/compatible.jpg)
Давайте теперь посмотрим на стандартную библиотеку .NET и определим, какая платформа несовместима с нашей библиотекой.
![](https://post.nghiatu.com/assets/tutorial/dotnet_core/images/platform.jpg)
Как видите, Windows Phone Silverlight 8 совместим с .NET Standard 1.0. Если вы откроете следующую веб-страницу, то увидите, что Profile259 поддерживает только .NET Standard 1.0.
![](https://post.nghiatu.com/assets/tutorial/dotnet_core/images/profile259.jpg)
Давайте теперь снимем флажок Windows Phone Silverlight 8.
![](https://post.nghiatu.com/assets/tutorial/dotnet_core/images/silverlight.jpg)
Щелкните значок OK кнопка.
![](https://post.nghiatu.com/assets/tutorial/dotnet_core/images/ok_button.jpg)
Теперь, чтобы исправить эту проблему, нажмите OK и закройте диалоговое окно «Изменить цели», затем откройте консоль диспетчера пакетов и выполните следующую команду.
PM > Uninstall-Package Xamarin.Forms
![](https://post.nghiatu.com/assets/tutorial/dotnet_core/images/execute_command.jpg)
Теперь перейдем к свойствам библиотеки PCL. Щелкните по кнопке Изменить.
![](https://post.nghiatu.com/assets/tutorial/dotnet_core/images/pcl_library.jpg)
Снимите флажок Windows Phone Silverlight 8 и нажмите ОК.
![](https://post.nghiatu.com/assets/tutorial/dotnet_core/images/uncheck.jpg)
Теперь вы можете видеть, что Windows Phone Silverlight 8 больше не доступен в целевой платформе. Вы также можете увидеть профиль, который сейчас является целью. Чтобы убедиться в этом, давайте выгрузим библиотеку PCL и отредактируем файл XamarinApp.csproj.
![](https://post.nghiatu.com/assets/tutorial/dotnet_core/images/unload.jpg)
Теперь вы видите, что TargetFrameworkProfile теперь Profile111.
![](https://post.nghiatu.com/assets/tutorial/dotnet_core/images/targetframeworkprofile.jpg)
Если вы откроете документацию, то увидите, что Profile111 поддерживает .NET Standard 1.1.
![](https://post.nghiatu.com/assets/tutorial/dotnet_core/images/documentation.jpg)
Давайте теперь снова загрузим PCL, откроем диспетчер пакетов NuGet и попробуем установить пакет StringLibrary из частного канала.
![](https://post.nghiatu.com/assets/tutorial/dotnet_core/images/package_private_feed.jpg)
В раскрывающемся списке поведения зависимости выберите Игнорировать зависимости и нажмите Install.
![](https://post.nghiatu.com/assets/tutorial/dotnet_core/images/dependencies.jpg)
Вы можете видеть, что пакет StringLibrary теперь установлен из закрытого канала. Если вы развернете Ссылки PCL, вы увидите, что ссылка на StringLibrary также добавлена, как показано ниже.
![](https://post.nghiatu.com/assets/tutorial/dotnet_core/images/pcl_reference.jpg)
Мы удалили Xamarin.Forms для проблемы Windows Phone Silverlight 8. Xamarin.Forms необходимо установить снова. Рекомендуется установить ту же версию.
![](https://post.nghiatu.com/assets/tutorial/dotnet_core/images/same_version.jpg)
После завершения установки позвольте нам использовать функцию StringLibrary в вашем приложении.