更新Xamarin Forms时,构建时出现“无效的Android支持库配置”错误。

5

我在一个Xamarin Forms Android项目中升级了Xamarin Forms到3.4.0版本,之前一切正常。现在在构建时出现了"invalid android support library configuration"错误。当我查看我的Package Console时,发现如下内容...

enter image description here

我收到了一条消息,说我的一些Xamarin.Android.Support.xxx包需要降级以确保兼容性。问题是,正如您在这里看到的“Packages”文件夹中所示,我的项目并没有这些包...

enter image description here

我缺少什么或做错了什么?

请勿发布代码图片。在StackOverflow上,代码图片是不合适的。您可以访问纯文本,请将代码复制并粘贴到您的问题中。 - anothermh
所有的图片都不是代码。它们是来自控制台输出和文件的不可复制的文本。 - Sev
第一张图片是纯文本控制台输出。您可以从控制台复制输出并粘贴到您的问题中。第二张图片是目录列表。您可以从ls | tr '\n' '\n'复制输出并粘贴到您的问题中。 - anothermh
3个回答

11

如果您在Xamarin.Forms Android项目中更新了所有的nuget包,就可能会发生这种情况。

Xamarin.Forms对Xamarin.Android.Support库的特定版本有特定的依赖关系。如果您更新了Android项目中的所有nuget包,那么支持库可能会更新到比新的Xamarin.Forms版本支持的版本更高的版本。

此时,我会从Android项目中卸载Xamarin.Forms包以及所有相关的支持库包,在此处列出的“Dependencies”下列出了这些包:https://www.nuget.org/packages/Xamarin.Forms/

因此,在Android项目中,卸载以下nugets:

Xamarin.Forms
Xamarin.Android.Support.Design 
Xamarin.Android.Support.v4 
Xamarin.Android.Support.v7.AppCompat 
Xamarin.Android.Support.v7.CardView 
Xamarin.Android.Support.v7.MediaRouter 

如果已经卸载了,只需重新安装 Xamarin.Forms,支持包的正确版本就会被重新安装。

将来,只需更新 Xamarin.Forms 包即可自动更新必要的支持库包,如果较新的支持库版本不受更新的 Xamarin.Forms 版本支持,它将不会更新支持库。


1
如果它是特定版本相关的,那么它不应该使用>=而应该使用= - Rohit Vipin Mathews
是的,那将是理想的。然而,在事先无法知道支持库的新版本是否会破坏Xamarin.Forms for Android之前,我们无从得知。关键是最好让Xamarin.Forms在更新其依赖项时更新其依赖项,而不是手动更新依赖项。 - jgoldberger - MSFT
我在一个 Xamarin.Android(非 XF)项目中遇到了这个问题。 - Shimmy Weitzhandler
在2020年,手动引用正确的Xamarin.Android.Support版本在我的.csproj文件中花费了我3个小时后终于奏效。遵循本教程(https://redth.codes/how-to-fix-the-dreaded-version-conflict-nuget-error-in-your-xamarin-android-projects/)。 - Mochi

0

Xamarin.Forms和所有*.Support.*库更新到最新版本对我有用。


0

您遇到了版本兼容性问题,如果您最近更新了一些软件包,您必须前往软件包管理器“NuGet/Update”,您将找到所有需要更新的Xamarin软件包。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接