私はAutofacの "隠された"デバッグ機能を有効にすることができるので、ここでどこか読んだことを覚えています(私が夢見ていたかもしれない)ので、Autofacがバックグラウンドで何をしているかについてより多くの情報を得ることができます。Autofac:隠しデバッグ機能はありますか?
私はちょうど私のプロジェクトにバグがあったので尋ねました。
builder.RegisterAssemblyTypes(typeof(MainWindowViewModel).Assembly)
.AssignableTo(typeof(ViewModelBase))
.EnableClassInterceptors()
.InterceptedBy(typeof(NotifyPropertyChangedInterceptor));
コンパイル、時:私は私のAutofacModuleに次のコードを追加した後
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に隠されたデバッグ機能があると、すばらしいことになります。そうでない場合は、デフォルトコンストラクタを持たないすべてのクラスを自動的に見つける方法がありますか?
おかげ
(私の英語のため申し訳ありません)
ありがとうございます。私はすべてのViewModelsからデフォルトコンストラクタを削除することで問題を再現しようとしましたが、今回はデバッガがエラーリストのすべてのエラーを正常にキャッチしました。 –