更新Xamarin的问题

时间:2016-07-15 14:04:04

标签: xamarin xamarin.android

我最近决定更新我的Xamarin工作区中的所有内容,包括所有nuget包和Xamarin表单。

我首先安装了所有最新的Xamarin.android.support软件包,这些软件包与当前版本的Xamarin表单发生了冲突,所以,决定我还需要更新Xamarin表单,删除它,安装所有其他软件包(工作可爱),现在我想再次重新安装Xamarin表格,但我收到了:

  

无法解析依赖项。 'Xamarin.Android.Support.Design 23.4.0.1'与'Xamarin.Forms 2.3.0.107约束:Xamarin.Android.Support.Design(= 23.3.0)'不兼容。

有什么建议吗?

6 个答案:

答案 0 :(得分:14)

我在这里Xamarin Forums引用了James Montemagno。

  

Xamarin.Forms锁定了一个非常特定的支持版本   图书馆和谷歌播放服务。你无法更新它们,因为   Xamarin.Forms与它们不兼容,因为它需要它   重新编译。

     

Xamarin.Android.Support.v4(= 23.0.1.3)Xamarin.Android.Support.Design   (= 23.0.1.3)Xamarin.Android.Support.v7.AppCompat(= 23.0.1.3)   Xamarin.Android.Support.v7.CardView(= 23.0.1.3)   Xamarin.Android.Support.v7.MediaRouter(= 23.0.1.3)

     

参见= 23.0.1.3,这意味着它只与之兼容   版本号。这就是NuGet的工作原理。当Xamarin.Forms   更新这些包将自动更新。

表单与特定版本的Android库“链接”,因此可以保证它可以一起工作。此时,Xamarin.Forms(stable)尚未更新,无法使用最新的Android支持包。所以你可能想要使用较旧版本的Forms,或者检查是否有一个Forms预发布版本已经引用了较新的Android支持库。

当然;在生产环境中不建议使用这些。

他们在官方FAQ

中添加了它

答案 1 :(得分:3)

您无法同时更新Xamarin.Forms和Xamarin.Android。因为它与版本有依赖性问题。 首先,选择仅Xamarin.Forms 2.3.0.107并更新。 之后,选择其余的Xamarin.Android.support列表并更新。

答案 2 :(得分:1)

我极力建议使用Xamarin.Droid和Xamarin.iOS 1年的经验,只将Xamarin.Forms更新到最新版本,并忽略其他Xam.Support库,除非极其必要的bug修复你需要的东西。< / p>

原因#1:未经Microsoft完全测试。

原因#2:您可能需要花费数小时来配置和修复引用e版本兼容性。

答案 3 :(得分:1)

根据我自己的经验,我建议:

  1. 如果您的项目很旧,请尝试将软件包列表从packages.config迁移到.CSPROJ。与packages.config不同,PackageReference仅列出您直接安装在项目中的NuGet包。因此,NuGet程序包管理器UI和项目文件不会因为低级依赖性而混乱。 More info here
  2. 清理Nuget包缓存:工具 - &gt; NuGet包管理器 - &gt;包管理器设置 - &gt;清除所有NuGet缓存
  3. 使用NuGet控制台获取有关错误的更多详细信息。打开控制台(工具 - &gt; NuGet包管理器 - &gt;包管理器控制台),然后键入Update-Package
  4. 更新包裹后始终清洁并重建

答案 4 :(得分:0)

对于解决方案,请按照以下步骤进行操作

  1. 关闭Visual Studio并导航以下文件夹 C:\用户\\应用程序数据\本地\ Xamarin  并删除“Zib”文件夹 (它将在构建解决方案时自动重新创建)
  2. 右键单击 在您的解决方案/项目上➔管理nugetPackage➔单击“更新” tab➔更新Xamarin表格
  3. 重新启动Visualstudio⇒打开项目==&gt; 清洁解决方案和构建立即添加Nuget包
  4. 参考:https://xamarininterviewquestion.blogspot.in/2016/12/upgrade-nuget-xamarinandroidsupportdesi.html

答案 5 :(得分:0)

从Xamarin.Forms 2.3.4 开始,您可以手动更新所有Xamarin.Android.Support NuGet包。 条件是您项目的目标框架目标Android版本选项(如果您不知道我是什么&#39) ;我正在谈论查看此页面:Understanding Android API Levels)至少设置为Android 7.0 ,即API 24或更高版本。

官方Xamarin文档也已更新:Xamarin Forms Troubleshooting