【问题标题】:Autofac: Is there a hidden debug feature?Autofac:有隐藏的调试功能吗?
【发布时间】: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


    【解决方案1】:

    这不是 Autofac 异常 - 看起来它可能是 WPF 异常?如果您可以在抛出异常时从调试器中获取调用堆栈,则应该提供线索。

    干杯!

    【讨论】:

    • 谢谢。我试图通过从所有 ViewModel 中删除默认构造函数来重现该问题,这次调试器成功捕获了错误列表中的所有错误。
    猜你喜欢
    • 1970-01-01
    • 2010-09-17
    • 2010-09-13
    • 2010-09-23
    • 2020-06-01
    • 2012-12-11
    • 2011-07-21
    • 1970-01-01
    • 2012-09-23
    相关资源
    最近更新 更多