ServiceStack Ormlite:System.InvalidProgramException JIT 编译器遇到内部限制
Posted
技术标签:
【中文标题】ServiceStack Ormlite:System.InvalidProgramException JIT 编译器遇到内部限制【英文标题】:ServiceStack Ormlite: System.InvalidProgramException JIT Compiler encountered an internal limitation 【发布时间】:2014-09-19 09:24:46 【问题描述】:您好,我正在使用 Ormlite 运行 ServiceStack,但遇到了这个错误。以前它工作正常。我不确定我所做的更改会导致此错误。我只是使用了一个简单的 db.Select() 调用,它抛出了这个错误。我尝试了各种方法,比如更新 nuget 包、清理和重建项目等,但都没有奏效。
System.InvalidProgramException was caught
_HResult=-2146233030
_message=JIT Compiler encountered an internal limitation.
HResult=-2146233030
IsTransient=false
Message=JIT Compiler encountered an internal limitation.
Source=ServiceStack.OrmLite
StackTrace:
at ServiceStack.OrmLite.OrmLiteConfig.get_ExecFilter()
at ServiceStack.OrmLite.ReadConnectionExtensions.Exec[T](IDbConnection dbConn, Func`2 filter)
at ServiceStack.OrmLite.ReadConnectionExtensions.Select[T](IDbConnection dbConn, Expression`1 predicate)
InnerException:
谁能建议可能出了什么问题?
【问题讨论】:
这通常意味着程序已损坏。您的所有ServiceStack
程序集都完好无损吗?其中一个可能会损坏吗?也许尝试重新下载它们并再次引用它们。
我刚刚从头开始做了一个简单的 ServiceStack 应用程序,它给了我同样的错误!有些东西搞砸了,但我不知道是什么。嗯..
可能要jitted的方法是动态生成的,太大或达到了其他限制。
【参考方案1】:
我关闭了 IntelliTrace,它又可以工作了。
【讨论】:
您使用的是哪个版本的 Visual Studio? Visual Studio 2013 Ultimate 您使用的是“仅限活动”还是“活动和通话信息”? 您可以在 IntelliTrace 设置的模块例外列表中添加“ServiceStack.”。这样,您仍然可以为您的图书馆提供活动和通话信息。 对我来说也一样。我在我的 WCF 项目中提出了这个异常。调试 WCF 源代码发现此 InvalidProgramException 发生在这一行 MethodInfo opMethod = opDesc.OperationMethod;其中 opDesc 是 System.ServiceModel.Description.OperationDescription 的一个实例。它只发生在“事件和呼叫信息”中,而不是“仅限事件”。以上是关于ServiceStack Ormlite:System.InvalidProgramException JIT 编译器遇到内部限制的主要内容,如果未能解决你的问题,请参考以下文章
使用 ServiceStack.ORMLite 的存储库模式中的事务
如何修改 ServiceStack.OrmLite 生成的 SQL?
ServiceStack OrmLite 连接Sqlserver数据库
OrmLite(ServiceStack):仅使用临时数据库连接(使用“使用”?)