Учебники

.NET Core — Устранение неполадок PCL

В этой главе мы исправим ошибку, возникшую при установке пакета NuGet из нашего частного канала в проекте Xamarin.Forms.

Исправление ошибки

Мы в дальнейшем поймем проблему вкратце. Для начала, давайте щелкните правой кнопкой мыши на библиотеке PCL и выберите Свойства.

На этой странице вы увидите целую серию фреймворков. Из ошибки видно, что профиль .NETPortable 259 несовместим с нашей StringLibrary 1.0.1. Тем не менее, он пытается взять ссылку из библиотеки .NET Standard 1.1.

совместимый

Давайте теперь посмотрим .NET Standard Library и определим, какая платформа не совместима с нашей библиотекой.

Платформа

Вы можете видеть, что Windows Phone Silverlight 8 совместим с .NET Standard 1.0. Если вы откроете следующую веб-страницу, то увидите, что Profile259 может поддерживать только .NET Standard 1.0.

Profile259

Давайте теперь снимем флажок Windows Phone Silverlight 8.

Silverlight

Нажмите кнопку ОК .

Кнопка ОК

Теперь, чтобы исправить эту проблему, нажмите кнопку ОК и закройте диалоговое окно «Изменение целей», а затем откройте консоль диспетчера пакетов и выполните следующую команду.

PM > Uninstall-Package Xamarin.Forms

Выполнить команду

Теперь перейдем к свойствам библиотеки PCL. Нажмите на кнопку Изменить.

Библиотека PCL

Снимите флажок Windows Phone Silverlight 8 и нажмите «ОК».

Uncheck

Теперь вы можете видеть, что Windows Phone Silverlight 8 больше не доступен в целевой среде. Вы также можете увидеть профиль, который является целью сейчас. Чтобы увидеть это, давайте выгрузим библиотеку PCL и отредактируем файл XamarinApp.csproj.

разгружать

Теперь вы можете видеть, что TargetFrameworkProfile теперь является Profile111.

TargetFrameworkProfile

Если вы откроете документацию, то увидите, что Profile111 поддерживает .NET Standard 1.1.

Документация

Теперь давайте снова перезагрузим PCL, откроем диспетчер пакетов NuGet и попробуем установить пакет StringLibrary из частного канала.

Пакет приватный канал

В раскрывающемся списке «Поведение зависимостей» выберите «Игнорировать зависимости» и нажмите « Установить» .

зависимости

Вы можете видеть, что пакет StringLibrary теперь устанавливается из частного канала. Если вы развернете Ссылки PCL, то увидите, что ссылка StringLibrary также добавлена, как показано ниже.

Справочник PCL

Мы удалили Xamarin.Forms для выпуска Windows Phone Silverlight 8. Xamarin.Forms необходимо установить снова. Рекомендуется установить ту же версию.

Та же версия

После завершения установки позвольте нам использовать функциональность StringLibrary в вашем приложении.