我记得我在这里的某处读过(也许我在做梦)我可以启用Autofac的“隐藏”调试功能,这样它就可以给我更多关于Autofac在后台做什么的信息。
我问,因为我刚遇到项目中的错误。我将以下代码添加到AutofacModule中后:
builder.RegisterAssemblyTypes(typeof(MainWindowViewModel).Assembly)
.AssignableTo(typeof(ViewModelBase))
.EnableClassInterceptors()
.InterceptedBy(typeof(NotifyPropertyChangedInterceptor));
编译时,在:
using (var container = builder.Build())
{
...
}
Autofac抛出:
System.NotSupportedException was unhandled. Parent does not have a default constructor. The default constructor must be explicitly defined.
但它没有告诉我哪个类没有默认构造函数(也许我在输出窗口中遗漏了一些东西?)。我最终逐个打开了所有的ViewModel类......以检查它们是否有默认的构造函数。
如果Autofac具有隐藏的调试功能,那对我来说会很棒。如果没有,是否有自动方法来查找没有默认构造函数的所有类?
由于
(对不起我的英文)
答案 0 :(得分:1)
这不是Autofac异常 - 看起来它可能是WPF的一个?如果你可以在抛出异常时从调试器获取调用堆栈,它应该提供一个线索。
干杯!