gpt4 book ai didi

c# - 编译时出现 MonoTouch 错误:System.Boolean System.Type::op_Equality(System.Type,System.Type)

转载 作者:行者123 更新时间:2023-11-29 13:36:57 26 4
gpt4 key购买 nike

我有一个 MonoTouch 应用程序,当我为设备编译它时,出现以下错误:

Error MT2002: Can not resolve reference: System.Boolean System.Type::op_Equality(System.Type,System.Type) (MT2002)

它在模拟器中运行良好,但偶尔我会得到相同类型的 MissingMethodException

我没有第 3 方库。所有的代码都是我自己的。有什么想法吗?

编辑这是我的 3 个项目及其所有引用。

项目 1:Mobile.Libraries

  • 单点触控
  • 系统
  • 系统核心
  • 系统.xml

项目 2:Mobile.Core

  • 移动.图书馆
  • 系统
  • 系统核心
  • 系统.xml

项目 3:Mobile.IOS

  • 单点触控
  • 移动核心
  • 系统
  • 系统核心
  • 系统.xml

最佳答案

正如@Jonathan.Peppers 所说,当您使用针对完整的 .NET4 配置文件构建的编译 .dll 时,就会发生这种情况。

MonoTouch 基类库 (BCM) 提供了 Silverlight 配置文件 (2.1) 的超集,其中添加了一些 4.0。因此,从另一个框架添加预编译的二进制文件可能需要 MonoTouch BCL 中存在的一些类型/方法。

解决方案是根据 MonoTouch 附带的 BCL 程序集重建所有 .dll。这将确保编译器只使用可用的符号。

为什么在 iOS 模拟器上可以运行?

那是因为使用了JIT。由于它是及时编译的,您可能永远不会找到丢失的符号,因此它可以工作,直到您找到丢失的代码(并出现运行时错误)。

另一方面,当您使用设备(或链接器)时,所有符号都会被加载(并为 AOT 编译)。任何丢失的东西都会提前被发现,所以你会得到一个像上面那样的构建时错误。

关于c# - 编译时出现 MonoTouch 错误:System.Boolean System.Type::op_Equality(System.Type,System.Type),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10344426/

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