我正在尝试将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对于其他类型的项目似乎工作正常。
任何想法都值得赞赏。
答案 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)
:
希望这会有所帮助。