我正在使用 NLog (v2.0) 尝试 Ninject 的日志记录扩展 (v3.0),根据我的阅读,我不应该配置任何东西,这就像自动魔法一样,我只需要要做的是在我需要的地方声明一个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
。