10

我正在使用 Xamarin.iOS 和 MVVMcross 开发一个 iPad 应用程序。所以我有一个带有我的 View-Model 和我的模型的 PCL,以及一个带有视图的 iOS 项目。我使用 Visual Studio。

之前,我使用 Xamarin.iOS 6.3.6 beta 版本,当我尝试在设备上启动应用程序时,创建了一个 .app 文件并使用我的 Ipad 获取它,我可以启动应用程序(无法直接从 Visual 启动工作室)。

昨天,我将 Xamarin.iOS 上传到 6.4.1。在模拟器上,一切正常。当我尝试在设备上启动应用程序时,现在直接安装了应用程序,但构建停止并且调试输出中出现以下错误:

Failed to load AOT module '<my PCL>' while running in aot-only mode: doesn't match assembly. 

如果我在设备上单击我的应用程序图标,黑屏会立即出现并消失。

有人知道为什么会出现这个错误吗?

4

7 回答 7

20

这看起来像是某处缓存了某些内容或未正确更新。

这里有一些想法可以尝试:

  • 从设备中删除应用程序。
  • 清理并重建您的应用程序。
  • 从 Mac 上的 Xamarin Studio 构建和安装。
  • 将 Debug 配置复制到新配置(例如 DebugTest),然后运行该配置。
于 2013-08-01T16:22:49.177 回答
8

我经常在这里遇到同样的问题。

我使用的解决方法是将 Visual Studio 构建配置管理器中的平台切换到“iPhoneSimulator”,在其上运行快速调试会话,然后将平台切换回“iPhone”,问题会消失一段时间。

不幸的是,我没有明智的理由来解释为什么会这样。它似乎在“清洁和重建”方面做得更好。

于 2013-09-29T21:52:46.133 回答
3

在阅读了一个类似的错误之后,我发现清除位于 OS X 主机上的 mtbs 文件夹$HOME/Library/Caches/Xamarin/mtbs/为我解决了这个问题。

我必须经常这样做,我只是在我的 Windows 框中打开了一个 PuTTY 会话来清除文件夹。我确实希望 Xamarin 尽快解决这个问题。

于 2013-10-10T15:31:24.160 回答
3

确保链接器行为设置为Don't Link

清理,重建,从应用程序中删除旧版本。

至少为我工作。

于 2015-01-30T08:02:31.747 回答
1

这发生在我升级到 XCode 5/iOS7 之后。我注意到我没有安装 XCode 命令行工具的警告。在我这样做之后,我重建了应用程序,它现在运行了。

于 2013-10-03T05:16:07.017 回答
0

我在 Mac 上的解决方法是

  1. XS 中的关闭解决方案
  2. 退出 XS。命令-Q
  3. 重新打开它并重新打开解决方案。

之后,它通常会再次起作用。

于 2014-12-03T18:05:34.607 回答
0

我刚刚遇到了这个问题,并通过打开 Apple 项目属性并将配置文件身份从“分发”更改为“开发人员”来再次工作。

于 2014-06-30T16:37:25.930 回答