代码之家  ›  专栏  ›  技术社区  ›  Patryk

Ninject扩展工厂-系统。InvalidProgramException-JIT编译器遇到内部限制

  •  0
  • Patryk  · 技术社区  · 9 年前

    在毫无问题地使用Ninject一段时间后,我遇到了Ninject.Extensions.Factory库的奇怪问题。

    我的代码编译并运行良好,没有任何上述错误。

    更重要的是,即使我反转到已检查并工作良好的修订版,也会发生同样的错误。

    问题是,现在当打电话给我的一些:

    IFactory.GetSomeFactory();
    

    以下异常正在上升:

    Message : JIT Compiler encountered an internal limitation.
    Source: Ninject.Extensions.Factory
    StackTrace:(only top of the stack)
       at Ninject.Extensions.Factory.Factory.InstanceResolver.Get(Type type, String name, Func`2 constraint, IConstructorArgument[] constructorArguments, Boolean fallback)
       at Ninject.Extensions.Factory.StandardInstanceProvider.GetInstance(IInstanceResolver instanceResolver, MethodInfo methodInfo, Object[] arguments)
       at Ninject.Extensions.Factory.FactoryInterceptor.Intercept(IInvocation invocation)
       at Castle.DynamicProxy.AbstractInvocation.Proceed()
    

    我试图清除nuget的缓存并重新下载库,但这无济于事。

    也许你们中的任何一个人遇到了类似的问题,并有一些开箱即用的解决方案?

    提前感谢您提供的任何帮助和解决问题的提示。

    1 回复  |  直到 9 年前
        1
  •  0
  •   BatteryBackupUnit    9 年前

    您应该尝试关闭IntelliTrace,因为存在IntelliTrace可能导致此问题的“已知问题”,另请参见 https://connect.microsoft.com/VisualStudio/feedback/details/872506/jit-compiler-encountered-an-internal-limitation

    Tools --> Options --> IntelliTrace --> [ ] Enable IntelliTrace
    

    与其完全关闭它,不如将IntelliSense设置设置为“仅显示事件”。