无法 AOT 程序集或您必须调用 LoadApplication()

Posted

技术标签:

【中文标题】无法 AOT 程序集或您必须调用 LoadApplication()【英文标题】:Could not AOT the assembly or You MUST invoke LoadApplication() 【发布时间】:2018-10-11 09:31:00 【问题描述】:

我的构建中的两个案例(xamarin.ios):

1) 构建选项设置时:

链接器行为:链接全部

在这种情况下,应用程序崩溃并显示此错误消息

您必须在调用 base.FinishedLaunching () 之前调用 LoadApplication ()

2) 构建选项设置时:

链接器行为:仅链接框架 SDK

我收到了错误:

MT3001:无法 AOT 程序集。

/Users/macmini01/Desktop/Per/RunningCode_Both/XXX_Mobile Sourcecode_2Apr2018/XXX/XXX.iOS/MTOUCH: Error MT3001: could not AOT the assembly '/Users/macmini01/Desktop/Per/RunningCode_Both/XXX_Mobile Sourcecode_2Apr2018/XXX/ XXX.iOS/obj/iPhone/Debug/mtouch-cache/64/Build/OsmSharp.UI.dll' (MT3001) (XXX.iOS)。

【问题讨论】:

你试过这个solution吗?另外我发现你问了同样的问题here。你能删掉一个吗? 已删除 @LandLu-MSFT 【参考方案1】:

尝试按照 Microsoft 构建步骤:

https://docs.microsoft.com/en-us/xamarin/ios/deploy-test/linker?tabs=vsmac

【讨论】:

感谢@keeano /Users/macmini01/Desktop/Per/RunningCode_Both/xxxxx_Mobile Sourcecode_2Apr2018/xxxxx/xxxxx.iOS/MTOUCH:错误 MT3001:无法 AOT 程序集 '/Users/macmini01/Desktop/Per /RunningCode_Both/xxxxx_Mobile Sourcecode_2Apr2018/xxxxx/xxxxx.iOS/obj/iPhone/Debug/device-builds/iphone7.2-11.2/mtouch-cache/Build/OsmSharp.UI.dll' (MT3001) (xxxxx.iOS)跨度> 【参考方案2】:

这是在https://github.com/xamarin/xamarin-macios/issues/4012 中报告的。

2) MT3001:无法 AOT 程序集在这里被诊断出https://github.com/xamarin/xamarin-macios/issues/4012#issuecomment-386012378 与未满足 AOT 编译器条件有关,导致崩溃,导致 AOT 编译器没有输出,导致 MT3001。

这已在 Mono 5.10 系列 https://github.com/mono/mono/issues/7637 中得到修复,该系列包含在我们当前的 alpha 和 beta 版本中,即 15.7 版本或 Xamarin.iOS 11.10.1.174+。

【讨论】:

以上是关于无法 AOT 程序集或您必须调用 LoadApplication()的主要内容,如果未能解决你的问题,请参考以下文章

Xamarin Forms Android:获取 XA3001:无法 AOT 程序集

BadImageFormatException 无法加载文件或程序集或其依赖项之一。试图加载格式不正确的程序

无法解析程序集或 Windows 元数据文件“System.Configuration.dll”

无法绑定到 8080 端口。它可能被另一个应用程序占用或您没有足够的权限

acedssget

DotNetOpenAuth.Asp 无法在 MVC4 应用程序单元测试中加载程序集或其依赖项之一