我正在尝试在Android项目(使用Mono)上使用InjectUnsetProperties扩展方法(在从ContainerBuilder.Build获得的IContainer上)。这会导致TargetInvocationException具有以下堆栈:
at System.Reflection.MonoProperty.GetValue (System.Object obj, System.Object[] index) [0x00082] in /Users/builder/data/lanes/3511/77cb8568/source/mono/mcs/class/corlib/System.Reflection/MonoProperty.cs:392
at Autofac.Core.DefaultPropertySelector.InjectProperty (System.Reflection.PropertyInfo propertyInfo, System.Object instance) [0x00031] in <a9f7a03a38f6492fb945f978e615643a>:0
就我而言,我正在尝试注入Activity实例的属性。 InnerException是一个NoSuchMethodError异常,消息为:
没有name ='getContentTransitionManager'签名='()Landroid / transition / TransitionManager;'在课程Landroid / app / Activity;
ContentTransitionManager是Activity类的虚拟属性,带有公共getter和public setter。
另外值得一提的是,在这种情况下,InjectProperties扩展方法可以正常工作。
在搜索autofac文档并进行一般网络搜索之后,我没有发现任何原因这不起作用,但想检查我是否遗漏了某些东西。在这种情况下,我应该期望InjectUnsetProperties工作吗?