私は Ninject のログ拡張機能 (v3.0) を NLog (v2.0) で試しています。私が読んだことから、何も設定する必要はありません。これは自動魔法のようなもので、必要なのはdo は、ILogger
必要な場所で依存関係を宣言することです。
nlog.config
既に持っていたファイルを保持し、ロガーを作成するすべてのコードを削除し、代わりにILogger
クラスのコンストラクターに入れました。
ActivationException
コンポジション ルートで ...Ninject can't resolve が表示されますILogger
。
私は何が欠けていますか?
私が持っているものは、本質的にこれに要約されます:
public static void Main(string[] args)
{
// nothing special here, binds IMyApp to MyApp.
using (var kernel = new StandardKernel(new NinjectConfig()))
{
var app = kernel.Get<IMyApp>(); // MyApp has a ILogger dependency **blows up here**
app.Run(args);
}
}
これは価値のあるコンソール アプリです...ロギング拡張機能はこのように動作するはずですか?
ドキュメントには次のように記載されています。
タイプインスタンスをリクエストする前に、カーネルが新しい Log4NetModule または NLogModule をロードしていることを確認してください
しかし、私がこれを行うと:
using (var kernel = new StandardKernel(new NLogModule(), new NinjectConfig()))
{
...
...ReSharper は何が何であるかを知りませんNLogModule
。