【问题标题】:Xamarin ios, sqlite returning 0 columns in a tableXamarin ios,sqlite在表中返回0列
【发布时间】:2016-07-03 03:42:38
【问题描述】:

当我尝试在 sqlite 中创建一个表时,应用程序失败,因为我要创建的表有零列,奇怪的是我还创建了另外 8 个表,并且这些表工作正常而没有错误,我有一直在阅读一些帖子,其中一篇说如果我将构建选项更改为“仅链接 SDK 框架它将起作用,但问题是当我这样做时会发生这种情况:

/Users/MacDeveloper/Documents/MDC/FrontEnd/MDC.Presentation.IOS/MTOUCH: 错误 MT2002:无法解决 来自“系统”的“System.Configuration.ApplicationSettingsBase”参考, 版本=4.0.0.0,文化=中性,PublicKeyToken=b77a5c561934e089" (MT2002) (MDC.Presentation.IOS)

我将链接行为更改为全部链接,但我得到相同的错误,在 Dont Link 中我也得到以下错误:

/Users/MacDeveloper/Documents/MDC/FrontEnd/MDC.Presentation.IOS/MTOUCH: 错误 MT3001:无法 AOT 程序集 '/Users/MacDeveloper/Documents/MDC/FrontEnd/MDC.Presentation.IOS/obj/iPhone/Debug/mtouch-cache/64/Build/MDC.Business.dll' (MT3001) (MDC.Presentation.IOS)

错误中的 dll 来自导入到项目的另一个库,该库是使用 Visual Studio 制作的。

这个问题有解决办法吗?

【问题讨论】:

    标签: ios sqlite xamarin xamarin.ios


    【解决方案1】:

    这是因为您的某些程序集是针对 MS .NET 框架完整桌面配置文件编译的。

    这不是 Xamarin 产品随附的。 BCL 是一个子集,称为 mobile,针对大小进行了优化。这会删除一些类型,例如所有 System.Configuration(命名空间和程序集)。

    您的第一个错误表明程序集正在使用不存在的类型

    System.Configuration.ApplicationSettingsBase

    并且程序集完全限定名称以

    开头

    系统,版本=4.0.0.0

    这不是 Xamarin 提供的,它将是 System, Version=2.1.0.0 ... Silverlight 使用的相同版本(原始移动配置文件所基于的版本)。

    您的第二个错误可能类似,但发生在稍后阶段(因为您禁用了链接器)。在这种情况下,AOT 编译器会看到对不存在的方法的调用,并且根本无法生成正确的代码。

    解决方案是针对 Xamarin SDK 程序集(产品随附的 BCL)或针对 Xamarin 支持的 PCL 配置文件之一重新构建您的代码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-21
      • 1970-01-01
      • 2011-05-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多