Xamarin MSAL NuGet错误-Xamarin.Android.Support.Compat检测到版本冲突

时间:2018-10-12 10:29:18

标签: xamarin visual-studio-2017 nuget msal

我正在尝试将MSAL NuGet软件包https://www.nuget.org/packages/Microsoft.Identity.Client添加到Xamarin表单项目中,但始终出现以下错误:

Package restore failed. Rolling back package changes for 
'MobileApp.Android'.                
Error   NU1107  Version conflict detected for 
Xamarin.Android.Support.Compat. Install/reference 
Xamarin.Android.Support.Compat 27.0.2.1 directly to project 
MobileApp.Android to resolve this issue. 
MobileApp.Android -> Xamarin.Android.Support.v7.MediaRouter 
27.0.2.1 -> Xamarin.Android.Support.v7.Palette 27.0.2.1 -> 
Xamarin.Android.Support.Compat (= 27.0.2.1) 
MobileApp.Android -> Microsoft.Identity.Client 2.2.0-preview -> 
Xamarin.Android.Support.CustomTabs 27.0.2 -> Xamarin.Android.Support.Compat 
(= 27.0.2).      

我尝试从Visual Studio 2017->工具->选项-> NuGet程序包管理器中清除NuGet缓存,还尝试通过删除以下文件夹的内容来手动清除缓存:

%userprofile%\.nuget\packages
%localappdata%\NuGet\v3-cache
%temp%\NuGetScratch
%localappdata%\NuGet\plugins-cache

我也尝试过创建一个新的空白项目,仅添加NuGet包,但继续收到相同的错误。 NuGet对于其他类型的项目似乎工作正常。

任何想法都值得赞赏。

1 个答案:

答案 0 :(得分:0)

  

Xamarin MSAL NuGet错误-Xamarin.Android.Support.Compat检测到版本冲突

这是nuget软件包版本冲突的问题。

要解决此问题,您应先安装软件包 Xamarin.Android.Support.CustomTabs 27.0.2.1 ,然后再安装软件包 { {1}}

此问题的原因:

由于您已经在项目中安装了软件包Microsoft.Identity.Client,因此它们具有间接依赖性Xamarin.Android.Support.v7.MediaRouter 27.0.2.1。将软件包Xamarin.Android.Support.Compat (= 27.0.2.1)安装到项目时,该软件包也具有间接依赖性Microsoft.Identity.Client。您可能会注意到版本不同,一个项目无法引用相同的引用不同版本,这会导致版本冲突。

要解决此问题,我们需要统一这两个不同版本的引用。检查包Xamarin.Android.Support.Compat (= 27.0.2)的依赖关系,此包具有依赖关系Microsoft.Identity.Client 2.2.0-preview,依赖关系Xamarin.Android.Support.CustomTabs (>= 27.0.2)也具有依赖关系Xamarin.Android.Support.CustomTabs (>= 27.0.2)。因此,要解决此问题,我们只需要首先安装依赖项Xamarin.Android.Support.Compat (= 27.0.2),其依赖项为Xamarin.Android.Support.CustomTabs (>= 27.0.2.1)

enter image description here

enter image description here

希望这会有所帮助。