“对于Xamarin.Android.Support.Compat检测到NU1107版本冲突。直接从项目中引用包以解决此问题。 pleaseWork.Android-> Xamarin.Android.Support.v7.MediaRouter 27.0.2-> Xamarin.Android.Support.v7.Palette 27.0.2-> Xamarin.Android.Support.Compat(= 27.0.2) pleaseWork.Android-> pleaseWork-> Plugin.Share 7.1.1-> Xamarin.Android.Support.CustomTabs 25.4.0.2-> Xamarin.Android.Support.Compat(= 25.4.0.2)。“
当我尝试将插件安装到Xamarin项目时,我一直收到此错误。我不知道如何解决此错误,我在互联网上搜寻了所有解决方案。
I've tried to install the same plugin on multiple Xamarin projects all to no avail
答案 0 :(得分:3)
如何修复Xamarin / NuGet错误NU1107? -“检测到Xamarin.Android.Support.Compat的版本冲突”
如果我通过引用Plugin.Share 7.1.1
将软件包Xamarin.Android.Support.v7.MediaRouter 27.0.2
安装到Xamarin上,则得到与您相同的错误消息。
要解决此问题,请先安装版本为 27.0.2 的依赖项Xamarin.Android.Support.CustomTabs
,然后然后安装软件包{ {1}}。
解决方案的原因:
就像错误消息所示,Xamarin项目的默认软件包
是Plugin.Share 7.1.1
,具有间接依赖性Xamarin.Android.Support.v7.MediaRouter 27.0.2
。但是,程序包Xamarin.Android.Support.Compat (= 27.0.2)
还具有间接依赖项Plugin.Share 7.1.1
,它低于已安装的版本 27.0.2 。因此nuget会为您提供针对Xamarin.Android.Support.Compat 检测到的错误 NU1107版本冲突。
为了使用相同版本的软件包Xamarin.Android.Support.Compat (= 25.4.0.2)
,我们必须将参考软件包Xamarin.Android.Support.Compat
更新为 27.0.2 ,该软件包受参考软件包{{ 1}}。
因此,解决此问题的方法是先安装Xamarin.Android.Support.CustomTabs
,然后再安装软件包Plugin.Share 7.1.1
。
希望这会有所帮助。
答案 1 :(得分:1)
我遇到了同样的问题,但不了解如何从其他答案中解决。由于该问题已被浏览过6千次,而在2年后我将在这里进行查看,因此我将发布一个解决方案,该解决方案可能会对其他查看此页面的人有所帮助。 简而言之,在尝试安装nuget软件包时或在安装它们之后,通常会出现此错误。这是由于依赖冲突造成的,VS和nuget管理器不知道该怎么办。希望将来VS将实现一种自动解决此问题的方法,但在那之前...
以下是有关解决问题的详细说明: 该错误信息应说明您需要参考或安装的软件包。这是我收到的错误消息的摘录:
“检测到Xamarin.Android.Support.Compat的错误NU1107版本冲突。直接将Xamarin.Android.Support.Compat 28.0.0.3安装/引用到项目HPlusSports.Android即可解决此问题。”
将显示“ Xamarin.Android.Support.Compat”(或您说的要安装/引用的内容)的部分复制到剪贴板。在VS中右键单击您的解决方案文件,然后选择管理解决方案的NuGet软件包。当NuGet Manager启动时,单击浏览标签。在搜索栏中,粘贴您复制的文本,然后搜索。您需要下载的第一个结果应该是标题完全匹配的第一个结果。在安装之前,请选择与错误消息匹配的版本。就我而言,我的错误消息是“安装/引用Xamarin.Android.Support.Compat 28.0.0.3 ...”,因此我选择28.0.0.3版本进行安装。另外,选中错误消息告诉您的位置进行安装的框。就我而言,这是告诉我要在.Android中安装,所以我已安装到我的Android项目中。
当您下载/安装时,您可能会收到另一条错误消息,类似于您遇到的第一个错误消息。如果是这样,请安装错误消息告诉您的依赖项 。继续执行此操作,直到您没有收到任何其他错误消息为止;然后,您应该能够安装最初尝试安装和构建项目的软件包,而不会发生冲突。
请乔纳森·迪克(Jonathan Dick)发布此instructional video,并帮助我了解如何解决此问题。
更新:您可以通过全部更新来解决此问题。转到更新标签,选中选择所有软件包的框,然后单击更新按钮。
答案 2 :(得分:0)
如果尝试从Xamarin.Android。* v27.0.2.1更新到Xamarin.Android。* v28.0.0时遇到错误,请首先安装Xamarin.Android.Support.Custom.Tabs v20.2.2.1。然后,您应该可以升级到v28。如果它抱怨任何其他缺少的NuGet软件包,请在更新之前也安装其v27.0.2.1版本。我刚刚遇到了这个问题,所以我要发布此解决方案,以解决遇到此问题的其他人的问题。
更具体地说,在尝试从Xamarin.Forms v3.4.0.1008975更新到v3.4.0.1009999时遇到了这个问题。
答案 3 :(得分:0)
NU1107是一个NuGet错误 您可以从中学习解决方案 https://docs.microsoft.com/tr-tr/nuget/reference/errors-and-warnings/nu1107
例如
检测到“ PackageA”的版本冲突。直接安装/引用“ PackageA” v4.0.0即可解决此问题。 'PackageB'3.5.0->'PackageA'(= 3.5.0) 'PackageC'4.0.0->'PackageA'(= 4.0.0)
解决方案 使用您选择的确切版本直接(在项目文件中)安装/引用“ PackageA”。通常,选择较高的版本是正确的选择。
答案 4 :(得分:0)
我在尝试安装这两个软件包时遇到了问题。仍然找不到解决方法。有人可以照亮吗?
严重性代码描述项目文件行抑制 状态压制状态
检测到错误NU1107版本冲突 Xamarin.GooglePlayServices.Base。
直接安装/参考Xamarin.GooglePlayServices.Base 71.1610.0 投影XXX.Android以解决此问题。
XXX.Android-> Microsoft.AppCenter.Push 2.6.2-> Xamarin.Firebase.Messaging 71.1740.0-> Xamarin.Firebase.Iid 71.1710.0 -> Xamarin.Firebase.Iid.Interop 71.1601.0-> Xamarin.GooglePlayServices.Base(> = 71.1610.0)
XXX.Android-> Xamarin.Forms.Maps 4.3.0.991221-> Xamarin.GooglePlayServices.Maps 60.1142.1-> Xamarin.GooglePlayServices.Base(= 60.1142.1)。