无法在Xamarin.Android

时间:2018-02-13 08:07:18

标签: xamarin.android visual-studio-2017 nuget-package

我在2017年Visual Studio Community(v15.5.6)中使用Windows 10。现在我正试图将Xamarin.Forms的NuGet包从v2.3.4.231更新为v2.5。

NuGet包Xamarin.Forms在Portable项目和Xamarin.iOS项目上成功更新,但在Xamarin.Android上失败。它继续回滚到以前的版本并显示错误消息"该集合是只读的"

提前感谢那些可以指出我的错误的人。 :)非常感谢。

3 个答案:

答案 0 :(得分:2)

好的,最终我通过以下所有步骤解决了这个问题:

(1)首先为您的项目选择正确的Target Framework。对我来说,我的目标是 Android Oreo 。如果您的项目支持最新的Android SDK,那将会很好。转到Tools - > Android - > Android SDK Manager检查并安装最新的SDK。

enter image description here

(2)在更新Xamarin.Forms 2.5之前,请确保Android中的某些NuGet包具有最新功能。对于我的情况,我需要确保包Xamarin.Android.Support.Design已更新到版本25或更高版本。

enter image description here

(3)如果您点击错误消息“该集合是只读的”。转到Tools - > NuGet Package Manager - > Package Manager Settings并点击按钮Clear All NuGet Cache(s)。在此之后,关闭Visual Studio - >转到您的项目文件夹 - >删除所有binobj文件 - >再次启动Visual Studio。

enter image description here

(4)好的,现在您可以将NuGet包Xamarin.Forms更新到2.5版。更新后,清理并构建项目。

答案 1 :(得分:0)

似乎NuGet的一个已知问题有时会发生,并且是由程序包缓存和临时文件引起的(请参阅VS Developer Community中的issue report)。

解决方案是转到Tools - > NuGet Package Manager - > Package Manager Settings然后点击Clear All NuGet Cache(s)按钮或使用 Alt + C 快捷方式。现在关闭Visual Studio,导航到项目文件夹并删除所有objbin文件夹。再次启动Visual Studio,现在一切正常。

答案 2 :(得分:0)

我遇到了同样的问题-我去更新了几个月未使用过的Xamarin旧解决方案上的所有软件包。

我知道了

  

“此收藏集是只读的”

消息。

我意识到我正在为另一个项目运行VS2017的另一个实例(并且实际上也对NuGet进行了更新,尽管可能不相关)。

我关闭了另一个VS2017(以及我一直在运行的Android模拟器,尽管我也不认为这与此相关)。

我经历了两个NuGet更新周期,其中VS2017表示类似

  

“ ... \ packages \ Xamarin.Forms.foo.bar.w.x.y.z”中的软件包无法卸载。

     

重新启动Visual Studio以完成该过程。

(但每次都有一个不同的文件)

我每次都认真地重新启动,最后它发出吱吱作响的声音,更新了所有软件包。