System.ExecutionEngineException: Attempting to JIT compile method System.Linq.Enumerable

关于JIT编译和AOT编译的问题。IOS下是不支持JIT动态编译的,所以如果程序有涉及JIT编译的都会无法执行。

在google查过说unity是不支持部分的Linq功能,如Sort方法。

但我在unity里面没有用到Linq的Sort方法,不过有用到OrderBy, FirstOrDefault, Where等。结果还是出现这个错误,

以防万一只能将所有用到的Linq方法重写。

如:类似System.Linq.Enumerable.Where的方法

public static IEnumerable<T> Filter<T>(this IEnumerable<T> source, Func<T, bool> predicate)    
        {
            if (source == null || predicate == null)
            {
                throw new ArgumentNullException();
            }
            return impl(source, predicate);
        }

        private static IEnumerable<T> impl<T>(IEnumerable<T> source, Func<T, bool> predicate)
        {
            foreach (T item in source)
            {
                if (predicate(item))
                {
                    yield return item;
                }
            }
        }

Since applications on the iPhone using Xamarin.iOS are compiled to static code, it is not possible to use any facilities that require code generation at runtime.

From: http://developer.xamarin.com/guides/ios/advanced_topics/limitations/

时间: 2024-10-29 03:15:46

System.ExecutionEngineException: Attempting to JIT compile method System.Linq.Enumerable的相关文章

Attempting to JIT compile method &#39;(wrapper delegate-invoke) System.Reflectio错误

unity使用Litjson后导出xcode工程报错Attempting to JIT compile method '(wrapper delegate-invoke) System.Reflectio.......什么的 修改方法: 全局搜索GetValue(),改变litjson里的GetValue(,),用GetGetMethod().Invoke(参数跟GetValue的参数相同)即可.注释:替换带有两个参数的GetValue就可以了,带有一个参数的不用修改 Attempting to

LINQ to Entities does not recognize the method &#39;System.DateTime ToDateTime(System.String)&#39; method

System.Data.Objects.EntityFunctions和System.Data.Objects.SqlClient.SqlFunctions中的方法进行比较,如下 where System.Data.Objects.SqlClient.SqlFunctions.DateDiff("s",DateTime.Now,u.Time)>0 where System.Data.Objects.EntityFunctions.DiffSeconds(DateTime.Now,

Jexus System.MissingMethodException: Method &#39;System.Web.Hosting.HostingEnvironment.set_IsHosted&#39; not found 报错的解决

看到大家都尝试Jexus以及dotnetcore,再加上新租了腾讯云的centos linux云服务器,决定要把公司比较简单的提供升级下载的网站部署到linux下试一下. 按照ASP.NET跨平台实践:无需安装Mono的Jexus“独立版” 的方法安装好Jexus . 部署网站,访问网站时下出现错误System.MissingMethodException: Method 'System.Web.Hosting.HostingEnvironment.set_IsHosted' not found

Windows Phone App的dump文件实例分析- System.ExecutionEngineException

前言 在开始这篇文章之前我们先来讲讲如何从高度优化的Release版的Dump中找到正确的异常上下文地址,并手动恢复异常发生的第一现场. 1. 什么是异常上下文 简单来说,在windows体系的操作系统里面,每个线程都有自己的线程上下文来保存需要的信息,其中包括当前寄存器的值.我们这里需要找到的异常上下文就是当异常发生的时候,异常分发器帮我们保存的当前寄存器的值(也叫寄存器上下文),利用这些信息结合汇编代码的分析,我们就可以进一步找到发生异常的原因.关于寄存器上下文结构体的定义我们可以在winn

转 引发类型为“System.ExecutionEngineException”的异常。

数据原型 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)]        public struct AccountMsg        {            [MarshalAs(UnmanagedType.ByValArray, SizeConst = 21)]            public byte[] Name;                         /*w姓名*/     

System.Security.SecurityException The type initializer for &#39;System.Data.Entity.Internal.AppConfig&#39; threw an exception

[15/08/19 00:03:10] [DataManager-7292-ERROR] System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.TypeInitializationException: The type initializer for 'System.Data.Entity.Internal.AppConf

无法将类型为“System.Decimal”的对象强制转换为类型“System.Char[]”。

在用微软的SSIS操作ORACLE 数据源的时候碰到以下报错信息: [ADO NET Destination [13455]] 错误: 数据插入期间出现异常,从提供程序返回的消息为:无法将类型为"System.Decimal"的对象强制转换为类型"System.Char[]". SQL语句: select A FROM TABLE WHERE B .... 字段A为NUMBER类型,但是数据库中有空值,所以报错,只是报错信息不标准 SQL改为 SELECT case

BootStrap入门教程 (一) :手脚架Scaffolding(全局样式(Global Style),格网系统(Grid System),流式格网(Fluid grid System),自定义(Customing),布局(Layouts))

2011年,twitter的“一小撮”工程师为了提高他们内部的分析和管理能力,用业余时间为他们的产品构建了一套易用.优雅.灵活.可扩展的前端工具集--BootStrap.Bootstrap由MARK OTTO和Jacob Thornton所设计和建立,在github上开源之后,迅速成为该站上最多人watch&fork的项目.大量工程师踊跃为该项目贡献代码,社区惊人地活跃,代码版本进化非常快速,官方文档质量极其高(可以说是优雅),同时涌现了许多基于Bootstrap建设的网站:界面清新.简洁;要素

命名空间“System”中不存在类型或命名空间名称“Linq”。是否缺少程序集引用?

完整错误信息 错误 1 命名空间"System"中不存在类型或命名空间名称"Linq".是否缺少程序集引用? F:\CsProjects\CSharp实现SPY++\CSharp实现SPY++\Form1.cs 6 14 CSharp实现SPY++ 错误原因 开始的时候创建项目选择的Framework版本是4.0,但后来为了项目的平台适应性,将Framework的版本改为了2.0,重新编译的时候就产生了这个问题. 解决方法 双击错误信息,会打开引用了System.L