【发布时间】:2011-03-13 10:11:50
【问题描述】:
我正在尝试在单点触控项目中使用 DotNetZip (http://dotnetzip.codeplex.com/)。
我已经为 monotouch 重新编译了它,通过在 MonoDevelop 下创建两个新的 monotouch 项目(一个用于 ZLib,另一个用于 DotNetZip),将代码放入其中,删除引用 Windows 窗体的代码,并在项目选项中设置 Compile Target = Library。
我在编译之前将 MonoDevelop 中的活动配置设置为“Release - iPhone”。
然后,我在我的 monotouch 主项目中引用了生成的 DLL。
在模拟器中运行时效果很好,但是当我尝试在实际设备(在我的情况下为 iPod Touch 4)上调试它时,我在运行时收到错误:
System.ExecutionEngineException 已被抛出
在使用 --aot-only 运行时尝试 JIT 编译方法“Vortaro.SearchTableViewSource:.ctor (Vortaro.SearchViewController)”。
这发生在这一行:
using (ZipFile zip = ZipFile.Read ("dictionary.zip")) {
--
我还测试了一个仅在单击按钮时执行此操作的简单示例:
ZipFile.Read ("dictionary.zip");
我得到这个错误:
未处理的异常:System.ExecutionEngineException: 在使用 --aot-only 运行时尝试 JIT 编译方法“Ionic.Zip.ZipContainer:.ctor (object)”。
在 /Users/(...)/ZipDirEntry.cs:199 中的 Ionic.Zip.ZipEntry.ReadDirEntry (Ionic.Zip.ZipFile zf) [0x000b5]
当我查看错误指向的构造函数时,我看不到任何可能导致 JIT 编译的内容:
public ZipContainer(Object o)
{
_zf = (o as ZipFile);
_zos = (o as ZipOutputStream);
_zis = (o as ZipInputStream);
}
【问题讨论】:
标签: .net iphone mono xamarin.ios