代码之家  ›  专栏  ›  技术社区  ›  Nicke Manarin

正在更改上的目标框架Xamarin.forms公司从Android 8.1到Android 9的应用程序(适用于沙马林精华)

  •  1
  • Nicke Manarin  · 技术社区  · 7 年前

    我创造了一个 Xamarin.Forms 该项目的目标是android8.1(Oreo)。

    当用更新的框架替换目标框架时,我遇到了一个错误,说我需要下载相同版本的所有Android软件包。

    Current

    问题是在更改了目标框架之后,我无法将包更新到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


    如何解决这个问题?我需要瞄准Android 9,因为沙马林精华我得去工作了,但我得更新一下Android。支持在那之前是28.0.0.1。

    1 回复  |  直到 7 年前
        1
  •  1
  •   Vanice    7 年前

    我也遇到了同样的问题,通过手动编辑nuget引用解决了这个问题。

    方案1: 如果你使用包.config打开文件并手动将版本编辑为所需的值,如下面的示例所示

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

    方案2: 如果使用包引用,则需要编辑.csproj文件 然后根据你的需要编辑这个部分

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

    或许强制更新也能起作用: https://docs.microsoft.com/en-us/nuget/consume-packages/reinstalling-and-updating-packages

    推荐文章