Изменение целевого фреймворка в приложении Xamarin.forms с Android 8.1 на Android 9 (для Xamarin.Essentials)

1

Я создал приложение Xamarin.Forms, используя шаблон проекта из Visual Studio 2019. Проект создан для Android 8.1 (Oreo).

Поскольку я хочу использовать функцию SecureStorage в Xamarin.Essentials, я должен установить целевую платформу на Android 9.

При замене целевого фреймворка на новый, я получил сообщение об ошибке, в котором говорится, что мне нужно загрузить все пакеты Android той же версии.

Изображение 174551

Проблема в том, что я не могу обновить пакеты до v28.0.0.1 после изменения целевой платформы.

Version conflict detected for Xamarin.Android.Support.Compat. 
Install/reference Xamarin.Android.Support.Compat 28.0.0.1 directly to project MyApp.Android to resolve this issue. 
MyApp.Android -> Xamarin.Forms 3.6.0.293080 -> Xamarin.Android.Support.CustomTabs 28.0.0.1 -> Xamarin.Android.Support.Compat (= 28.0.0.1) 
MyApp.Android -> Xamarin.Android.Support.v7.AppCompat 27.0.2.1 ->    Xamarin.Android.Support.Compat (= 27.0.2.1).   
MyApp.Android   C:\Users\User\source\repos\MyApp\MyApp\MyApp.Android\MyApp.Android.csproj'  

Я пытался, но не смог установить пакет с именем Xamarin.Android.Support.Compat(version 28.0.0.1). Кроме того, открытие .csproj и ручная замена номера версии с 27.0.2.1 на 28.0.0.1 дает мне кучу ошибок из config xml проекта MyApp.Android.


Как я могу решить эту проблему? Мне нужно настроить таргетинг на Android 9 из-за того, что работает наджет Xamarin.Essentials, но мне нужно обновить текущие нюансы Android.Support до 28.0.0.1 перед этим.

Теги:
xamarin
xamarin.forms
xamarin.essentials

1 ответ

1
Лучший ответ

У меня была такая же проблема, и я решил ее вручную, отредактировав свои ссылки на nuget.

Вариант 1. Если вы используете package.config, откройте файл и вручную отредактируйте версию до желаемого значения, как показано в примере ниже.

<packages>
  <package id="Xamarin.Android.Support.Design" version="28.0.0.1" targetFramework="net46" />
</packages>

Вариант 2. Если вы используете ссылки на пакеты, вам нужно отредактировать файл .csproj. В VS2019 просто дважды щелкните его в обозревателе решений. В более ранней версии вы должны сначала выгрузить его или открыть текстовый редактор. Затем отредактируйте раздел по вашему желанию

    <ItemGroup>
      <PackageReference Include="Xamarin.Android.Support.Design" Version="28.0.0.1" />
    </ItemGroup>

Возможно, также работает принудительное обновление: https://docs.microsoft.com/en-us/nuget/consume-packages/reinstall-and-updating-packages

  • 0
    Я пропустил строку в опе, где он говорит, что редактирование вручную не работает. Однако я оставлю свой ответ, так как он может кому-то помочь.
  • 1
    Я не уверен, что я делал раньше, возможно, мне пришлось очистить проект после изменения номера версии вручную, но на этот раз это сработало.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню