我正在尝试用xamarin.android实现firebase但是在下载了一些nugat包之后我开始得到不同的错误,最新的错误如下:
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
请指导我如何解决它。 感谢
答案 0 :(得分:1)
对我来说,解决方案是降级版本nuget包&#34; Xamarin.Build.Download&#34;到版本4.4
答案 1 :(得分:0)
回答一个老问题,但是如果其他人遇到与我相同的情况(不允许修改Xamarin.Build.Download的版本),这可能会有所帮助,这是我解决的方法: 我删除了 C:\ Users(用户名)\ AppData \ Local \ Xamarin 和 C:\ Users(用户名)\ AppData \ Local \ XamarinBuildDownloadCache 的文件夹,并重建了解决方案
我发现是那天晚上使用Visual Studio中的NuGet缓存清除工具,这些目录保持不变。 我只能推测该问题也可能是由于文件损坏(我的网络连接可能有问题)引起的,并且DownloadCahe阻止了尝试获取“干净”文件的尝试。
答案 2 :(得分:0)
在MacOS上,我必须擦除“〜/ Library / Caches”中与Xamarin有关的所有文件夹。然后,它将建立良好。