【发布时间】:2011-03-09 03:16:25
【问题描述】:
我记得我在 SO 的某个地方读到过(也许我在做梦),我可以启用 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 有一个隐藏的调试功能对我来说会很棒。如果没有,是否有一种自动方法来查找所有没有默认构造函数的类?
谢谢
(对不起我的英语)
【问题讨论】:
标签: autofac