gpt4 book ai didi

ios - MonoTouch 调试不是使用 ServiceStack.Text 构建的(AOT 错误)?

转载 作者:可可西里 更新时间:2023-11-01 06:10:51 25 4
gpt4 key购买 nike

我刚刚开始在我的 MonoTouch 解决方案中使用 ServiceStack.Text.MonoTouch.dll。一切都在模拟器中编译和运行,但是一旦我尝试在手机上运行调试版本,编译过程就会因以下错误而终止:错误 MT3001:无法 AOT 程序集“.../ServiceStack.Text.MonoTouch.dll”

我读到这是由于 ServiceStack.Text dll 太大或类似的原因。因此,我在 Release模式下进行了尝试,由于 LLVM 处于打开状态并且链接器已变为“仅链接 SDK 程序集”,所以一切正常。

这是有问题的,因为我现在无法在设备上进行调试。在 Debug模式下,链接器被禁用,LLVM 被关闭。有什么办法解决这个问题吗?

MT 6.0.8 &Github 上最新版本的 ServiceStack dll。

最佳答案

In debug mode the linker is disabled,

否(至少默认情况下不是)。

默认情况下,为所有设备构建(调试或发布)启用托管链接器 (Link SDK)。但是,默认设置 (Link SDK) 无法从 ServiceStack.Text.dll 中删除未使用的代码,因为该程序集不是 SDK 程序集。

您需要将选项切换为链接所有程序集以确保它得到处理。

请注意,如果链接器不安全(例如使用反射),您可能需要在自己的代码上添加[Preserve] 属性(或--linkskip=ASSEMBLY) ).看这个thread举个例子。

关于ios - MonoTouch 调试不是使用 ServiceStack.Text 构建的(AOT 错误)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14368620/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com