Xamarin Android CardView 在 Visual Studio 2017 中使用 NuGet

Xamarin Android CardView in Visual Studio 2017 using NuGet

我正在尝试通过 NuGet 安装 Xamarin.Android.Support.v7.CardView 包,但失败并在错误列表 window:

中显示此错误
При попытке установить необходимые компоненты Android для проекта "App1" произошла ошибка.
Для проекта "App1" на вашем компьютере должны быть установлены следующие компоненты:
Xamarin.Android.Support.v7.CardView
JavaLibraryReference: https://dl-ssl.google.com/android/repository/android_m2repository_r32.zip-m2repository/com/android/support/cardview-v7/23.4.0/cardview-v7-23.4.0.aar-23.4.0.0
AndroidResources: https://dl-ssl.google.com/android/repository/android_m2repository_r32.zip-m2repository/com/android/support/cardview-v7/23.4.0/cardview-v7-23.4.0.aar-23.4.0.0
Дважды щелкните здесь, чтобы установить их.
Ошибки установки: XA5209 Сбой распаковки. Скачайте "https://dl-ssl.google.com/android/repository/android_m2repository_r32.zip" и извлеките его в каталог
"C:\Users\User\AppData\Local\Xamarin\Xamarin.Android.Support.v7.CardView.4.0.0\content".
XA5209 Причина: Не удалось найти часть пути "C:\Users\User\AppData\Local\Xamarin\Xamarin.Android.Support.v7.CardView.4.0.0\content\m2repository\".
XA5207 Установите пакет: "Xamarin.Android.Support.v7.CardView" доступен в установщике пакета SDK.. Файл библиотеки Java     "C:\Users\User\AppData\Local\Xamarin\Xamarin.Android.Support.v7.CardView.4.0.0\content\classes.jar" не существует.   

双击这个错误会显示一个小 window 试图下载这些包并通过第二个消失,仅此而已,错误仍然存​​在。我试过删除 AppData\Local\Xamarin\zips 文件夹,但没用。

错误消息非常明确地告诉我们,这个问题是由于无法解压 m2repository 文件(一个 >200MB 的文件)造成的。

Ошибки установки: XA5209 Сбой распаковки.

Google Translate: Installation errors: XA5209 Unpacking failed.

如果您在下载或解压缩该 zip 文件时由于某种原因退出 Xamarin Studio/Visual Studio 或网络缓慢 运行,该文件将会损坏。

解决这个问题,常用的方法是删除错误来源包的根文件夹(...\AppData\Local\Xamarin\Xamarin.Android.Support.v7.CardView)以及文件夹内的所有.zips(...\AppData\Local\Xamarin\zips).

如果还是不行,请尝试手动下载android_m2repository_r32.zip并放入(...\AppData\Local\Xamarin\zips)文件夹。 VS 将完成剩下的工作(包括提取和安装文件)。

注意: 在某些情况下,您可能需要将文件重命名为 URL 的 MD5 散列。 (对我来说 VS 有点愚蠢,除非我将 m2repository 文件重命名为它的 MD5 哈希,否则什么都不做)。

有关详细信息,请参阅 Resolving Library Installation Errors

我已经将目标框架设置为 8.1,更新了所有包并安装了 CardView,它成功了。