我正在使用DryIoC容器,并且在尝试解决其中一种实现时,出现以下错误:
[Xamarin iOS上此平台例外不支持该操作
第一次解决问题的工作很好,但是当我第二次尝试调用解决方法时,它给出了这个例外。
下面是我的注册方式:
container.Register<IFoo, Foo>(Reuse.ScopedOrSingleton);
解决呼叫:
container.Resolve<IFoo>()
我检查了Github中是否已报告此错误。
根据关于该讨论的评论之一,我在下面的代码中实现了该代码,此后似乎工作正常,但我不确定设置此规则的目的是什么,并且设置此规则是否有任何缺点。] >
var container = new Container(rules => rules.WithoutFastExpressionCompiler());
我正在使用DryIoC容器,而尝试解析其中一种实现时,出现以下错误:Xamarin iOS上此平台异常不支持操作解析工作的...
Xamarin iOS不支持IL Emit和DynamicMethod编译,这是用于创建对象图的默认DryIoc机制(通过调用已编译的委托)。但是,可以用解释“牺牲”一些已编译的委托性能来代替编译。牺牲不是那么简单,而是取决于您的情况,而且由于编译本身很昂贵,因此无论如何第一次解释都使用解释。有关更多详细信息和性能编号,请点击此处:https://github.com/dadhi/DryIoc/issues/199#issuecomment-573291497