链接程序集意外失败 (Xamarin.ios.dll) [英] Link Assemblys failed unexpectedly (Xamarin.ios.dll)

查看:17
本文介绍了链接程序集意外失败 (Xamarin.ios.dll)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我尝试在发布模式下编译时出现错误,而在 Debug 中效果很好.我正在尝试存档 APK,但由于 Xamarin.ios.dll 错误而无法存档

When I try to compile in release mode I get the error, while in Debug works great. I am trying to archive an APK but I can't due to Xamarin.ios.dll error

我尝试删除 obj 和 bin 文件夹并单独重新编译它们,它确实有效,但是当我尝试存档时出现错误,要求我检查是否可以编译项目.

I tried deleting obj and bin folders and recompile them individually and it does work, but when I try to archive and an error appears asking me to check if I can compile the project.

Severity Code Description Project File Line Suppression State
Error The "LinkAssemblies" task failed unexpectedly.
Mono.Linker.MarkException: Error processing method: 'System.Void System.Net.Http.NSUrlSessionHandler/NSUrlSessionDataTaskStream/<ReadAsync>d__14::MoveNext()' in assembly: 'Xamarin.iOS.dll' ---> System.ArgumentNullException: Value cannot be null.
Parameter name: instruction at Mono.Cecil.Cil.InstructionOffset..ctor(Instruction instruction) at Mono.Cecil.Cil.CodeReader.ReadAsyncMethodBody(AsyncMethodBodyDebugInformation async_method) at Mono.Cecil.Cil.CodeReader.ReadCustomDebugInformations(MethodDefinition method) at Mono.Cecil.Cil.CodeReader.ReadDebugInfo() at Mono.Cecil.Cil.CodeReader.ReadMethodBody() at Mono.Cecil.Cil.CodeReader.ReadMethodBody(MethodDefinition method) at Mono.Cecil.MetadataReader.ReadMethodBody(MethodDefinition method) at Mono.Cecil.MethodDefinition.<>c.<get_Body>b__41_0(MethodDefinition method, MetadataReader reader) at Mono.Cecil.ModuleDefinition.Read[TItem,TRet](TRet& variable, TItem item, Func`3 read)
at Mono.Cecil.MethodDefinition.get_Body()
at Mono.Linker.Steps.MarkStep.ProcessMethod(MethodDefinition method)
at Mono.Linker.Steps.MarkStep.ProcessQueue()
--- End of inner exception stack trace ---
at Mono.Linker.Steps.MarkStep.ProcessQueue()
at Mono.Linker.Steps.MarkStep.ProcessPrimaryQueue()
at Mono.Linker.Steps.MarkStep.Process()
at MonoDroid.Tuner.MonoDroidMarkStep.Process(LinkContext context)
at Mono.Linker.Pipeline.ProcessStep(LinkContext context, IStep step)
at Mono.Linker.Pipeline.Process(LinkContext context)
at MonoDroid.Tuner.Linker.Process(LinkerOptions options, ILogger logger, LinkContext& context) at Xamarin.Android.Tasks.LinkAssemblies.Execute(DirectoryAssemblyResolver res) at Xamarin.Android.Tasks.LinkAssemblies.Execute() at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute() at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext() MultiPlatFormXamarin.Android

此外,Xamarin.iOS 是 Xamarin.Android 的参考,对吗?

Also, Xamarin.iOS is on the references of Xamarin.Android, is that correct?

推荐答案

由于 APK 适用于 Android,因此绝对不应在项目中引用 Xamarin.iOS.检查您的 Android 参考,并确保右键单击您的解决方案,转到选项、配置、配置映射,然后在构建 Android 时取消选中您的 iOS 项目(即在任何 CPU"中构建时)

Since APK is for Android, you should definitely NOT have a reference to Xamarin.iOS in your project. Check your Android references, and to be sure, right click on your solution, go to Options, Configurations, Configuration Mappings, and uncheck your iOS project when building Android (i.e when building in "Any CPU")

这篇关于链接程序集意外失败 (Xamarin.ios.dll)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆