【问题标题】:Xamarin and Xcode update to iOS 10 and "Got a SIGABRT while executing native code..."Xamarin 和 Xcode 更新到 iOS 10 并“在执行本机代码时获得 SIGABRT...”
【发布时间】:2017-01-27 19:51:19
【问题描述】:

在我将 Xamarin 和 Xcode 升级到 iOS 10 更新/发布后,我的应用在启动时开始失败。该应用甚至从未进入 App.cs 构造函数让我开始调试。

实际错误消息: “在执行本机代码时收到 SIGABRT。这通常表示 mono 运行时或您的应用程序使用的本机库之一中出现致命错误。” em>

【问题讨论】:

    标签: xamarin xamarin.ios ios-simulator


    【解决方案1】:

    在花了很多时间试图解决这个问题之后,我终于从挖掘 iOS 模拟器日志中得到了一个线索。

    详细的错误信息:

    加载的程序集: /Users/username/Library/Developer/CoreSimulator/Devices/BC0B1376-DDDF-4DD1-954D-1872603FA8E6/data/Containers/Bundle/Application/2AA663A3-986B-434E-83B9-E7D88A6616FE/VSProjectName.app/.monotouch-64/ System.ComponentModel.DataAnnotations.dll 发生未处理的异常。

    2016-09-16 23:12:13.570 VSProjectName[5278:156681] 未处理 异常:System.BadImageFormatException:无法加载文件或 程序集或其依赖项之一。参考程序集不应 被加载执行。它们只能加载到 仅反射加载器上下文。

    文件名:'System.ComponentModel.DataAnnotations' 2016-09-16 23:12:13.570 VSProjectName [5278:156681] 未处理的托管异常: 无法加载程序集

    回答 在我的一个由 Xamarin.iOS 项目引用的共享类库项目中,我引用了 .NET 4.5 版本的 System.ComponentModel.DataAnnotations.dll 程序集,即使没有在使用此程序集的任何一个项目中的任何地方编写代码。

    应用程序在启动时不断崩溃,因为此版本的 System.ComponentModel.DataAnnotations.dll 程序集无法在移动平台上运行。

    从类库项目的引用列表中删除 System.ComponentModel.DataAnnotations 解决了这个问题。

    请注意,在我升级到 Xcode 版本 8.0 (8A218a) 和 Xamarin 4.2.0.680 for Visual Studio 之前,此代码运行良好。

    【讨论】:

      猜你喜欢
      • 2018-09-13
      • 1970-01-01
      • 1970-01-01
      • 2017-02-03
      • 1970-01-01
      • 1970-01-01
      • 2020-07-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多