C# 在Xamarin.Forms中使用android支持库API Level 26(MonoAndroid 8.0 Oreo)?
我无法将Android支持库升级到26.x.x(API级别26=8.0 Oreo),因为Xamarin.forms对25.x.x有严格的依赖关系。似乎Xamarin.Forms不支持Mono.Android8.0 例如: 尝试将Xamarin.Android.Support.Design升级到26.1.0.1时,出现以下错误: “检测到Xamarin.Android.Support.Compat的版本冲突。请直接从项目中引用包以解决此问题。”。 TestApp.Android->Xamarin.Android.Support.Design 26.1.0.1->Xamarin.Android.Support.Compat(=26.1.0.1) TestApp.Android->Xamarin.Android.Support.v4 25.4.0.2->Xamarin.Android.Support.Compat(=25.4.0.2)。”C# 在Xamarin.Forms中使用android支持库API Level 26(MonoAndroid 8.0 Oreo)?,c#,android,xamarin.forms,xamarin.android,mono,C#,Android,Xamarin.forms,Xamarin.android,Mono,我无法将Android支持库升级到26.x.x(API级别26=8.0 Oreo),因为Xamarin.forms对25.x.x有严格的依赖关系。似乎Xamarin.Forms不支持Mono.Android8.0 例如: 尝试将Xamarin.Android.Support.Design升级到26.1.0.1时,出现以下错误: “检测到Xamarin.Android.Support.Compat的版本冲突。请直接从项目中引用包以解决此问题。”。 TestApp.Android->Xamarin.
另外,如果您查看Xamarin.Forms nuget包的依赖项,MonoAndroid8.0甚至没有列出。为什么呢?如何在XF中使用API level 26支持库?您需要确保为Oreo安装了Android SDK。然后,您需要转到android项目属性(右键单击解决方案资源管理器中的项目文件夹,并从弹出菜单中选择“属性”) 在“应用程序选项卡”下,您将找到“使用Android版本编译:(目标框架)”选择Oreo SDK。现在您应该能够更新应用程序兼容库以使用26.2.0.1 如果您查看Xamarin.Forms nuget包的依赖项,MonoAndroid8.0甚至没有列出。似乎Xamarin.Forms不支持Mono.Android8.0 您可以将
Mono.Android 8.0
与Xamarin.Forms
一起使用
检测到Xamarin.Android.Support.Compat的版本冲突。请直接从项目中引用该包以解决此问题。TestApp.Android->Xamarin.Android.Support.Design 26.1.0.1->Xamarin.Android.Support.Compat(=26.1.0.1)TestApp.Android->Xamarin.Android.Support.v4.0.2->Xamarin.Android.Support.Compat(=25.4.0.2)
Xamarin.Android.Support.Compat 26.1.0.1
NuGet包包含用于MonoAndroid v8.0
的程序集。因此,您需要将Android项目的目标框架更改为8.0。您应该能够在Visual Studio中更改该框架
如果v8.0不可用,您可能需要更新Android SDK
在Xamarin.Forms中使用android支持库API Level 26(MonoAndroid 8.0 Oreo)
- 安装
- 在VS中的项目设置中调整目标SDK版本
- 升级您的nunget包。(包括Xamarin.Forms包)
- 删除解决方案中的所有“bin”和“obj”文件夹
- 重新启动VS
- 执行nuget恢复和重建
v8.1
我的问题是,我还有一个v7.1
必须删除。一旦我删除了这一行,一切都开始工作了
显然,VisualStudio无法从csproj中删除以前的版本
您可以通过卸载android项目来访问csproj,然后右键单击android项目,编辑csproj,然后您可以查找TargetFrameworkVersion标记。lifesaver,我还想提到,如果在安装所需的android sdk后(从android sdk管理器)SDK不会出现“使用Android版本编译:(目标框架)”的下拉列表,然后执行以下操作: