Я создал приложение Xamarin.Forms
, используя шаблон проекта из Visual Studio 2019. Проект создан для Android 8.1 (Oreo).
Поскольку я хочу использовать функцию SecureStorage в Xamarin.Essentials, я должен установить целевую платформу на Android 9.
При замене целевого фреймворка на новый, я получил сообщение об ошибке, в котором говорится, что мне нужно загрузить все пакеты Android той же версии.
Проблема в том, что я не могу обновить пакеты до 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 перед этим.
У меня была такая же проблема, и я решил ее вручную, отредактировав свои ссылки на 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