我想在Monotouch上使用Jint进行一些实验,虽然Jint-Mono项目(不是monotouch版本,但单声道版本)在我的Mac上运行,但我无法让它适用于iPhone。我只是创作了这门课程:
namespace iPhoneTests
{
public class JintObject
{
public JintObject ()
{
var jintEngine = new JintEngine();
jintEngine.Run
(
@"Console.WriteLine('Hello World')"
);
}
}
}
每当我尝试调用JintObject方法时,我都会收到异常错误:
Unhandled Exception: System.TypeLoadException: A type load exception has occurred.
at Jint.Marshaller.WrapMethod (System.Reflection.MethodInfo info, Boolean passGlobal) [0x00000] in <filename unknown>:0
at Jint.Native.NativeMethod..ctor (System.Reflection.MethodInfo info, Jint.Native.JsObject prototype, IGlobal global) [0x00000] in <filename unknown>:0
at Jint.Native.NativeConstructor.ReflectOverload (ICollection`1 methods) [0x00000] in <filename unknown>:0
我做错了什么?
答案 0 :(得分:3)
我过去曾尝试过使用Jint和Jurassic和MonoTouch。
我一直遇到的问题是这两个项目都使用Reflection.Emit来解释JavaScript - 手机上不支持这种类型的JIT操作。我怀疑这是你所看到的(看看控制台输出看?)
我找到的唯一解决方案是: