“XamarinBuildAndroidAarProguardConfigs”任务意外失败。

4

我正在尝试将Firebase与Xamarin.Android集成,但在下载了一些NuGet包后,我开始遇到不同的错误,最新的一个如下:

Severity    Code    Description Project File    Line    Suppression State
Error       The "XamarinBuildAndroidAarProguardConfigs" task failed unexpectedly.
System.IO.InvalidDataException: Central Directory corrupt. ---> System.IO.IOException: An attempt was made to move the file pointer before the beginning of the file.

   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.FileStream.SeekCore(Int64 offset, SeekOrigin origin)
   at System.IO.FileStream.Seek(Int64 offset, SeekOrigin origin)
   at System.IO.Compression.ZipArchive.ReadEndOfCentralDirectory()
   --- End of inner exception stack trace ---
   at System.IO.Compression.ZipArchive.ReadEndOfCentralDirectory()
   at System.IO.Compression.ZipArchive.Init(Stream stream, ZipArchiveMode mode, Boolean leaveOpen)
   at System.IO.Compression.ZipArchive..ctor(Stream stream, ZipArchiveMode mode, Boolean leaveOpen, Encoding entryNameEncoding)
   at Xamarin.Build.Download.XamarinBuildAndroidAarProguardConfigs.Execute()
   at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
   at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext() FireBaseSolution            

Android目标框架:25
已安装的一些参考资料:

Xamarin.Android.Support.v4
Xamarin.Android.Support.v7.AppCompat
Xamarin.GooglePlayServices.Base
Xamarin.Firebase.Messaging

请指导我如何解决这个问题。谢谢。

嗨,我遇到了同样的问题。我在我的项目中没有使用任何Xamarin.Build.Download包,只是使用了你提到的上述包。有什么解决办法吗? - Agnihotri.
3个回答

1
回答一个旧问题,但如果其他人遇到和我一样的情况(不允许修改Xamarin.Build.Download版本),这可能会有所帮助。我解决方法如下:删除C:\Users(username)\AppData\Local\XamarinC:\Users(username)\AppData\Local\XamarinBuildDownloadCache文件夹并重新构建解决方案。
我发现即使使用Visual Studio中的NuGet缓存清除工具,这些目录仍然保持不变。我只能推测这个问题也可能是由文件损坏引起的(我可能有一个有问题的网络连接),而DownloadCahe尝试获取“干净”的文件时被阻塞了。

1
对我来说,解决方案是将NuGet包“Xamarin.Build.Download”降级到4.4版本。

0
在 MacOS 上,我不得不擦除 "~/Library/Caches" 中有关 Xamarin 的所有文件夹。之后它就可以正常构建了。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接