我有一个查询...
我有一个具有异常日志记录机制的类库项目。对于在数据库和文件中记录异常,我正在使用NLog。
我想以这种方式实现此Exception Class库项目,以便将来可以将其DLL文件用于任何项目。
问题是当我将此DLL引用到其他项目时,它也在寻找NLOG dll。因此会出现
之类的错误[无法加载文件或程序集'NLog,版本= 4.0.0.0,区域性=中性,PublicKeyToken = 5120e14c03d0593c'或其依赖项之一。系统找不到指定的文件。']
但是,当我将dll添加到当前调用的项目中时,一切便开始工作,这意味着它显然也在寻找NLOG DLL。
但是如果我要添加两个DLL(Nlog,ClassLibrary DLL到调用项目),那将是完全可悲的。
请对此发表您的看法。
请找到我的解决方案的附件屏幕截图。
例外是这样的:
答案 0 :(得分:1)
当该项目仅编写日志消息时,仅对于类库,您需要引用NLog。
我举了一个例子来说明它的工作原理:
https://github.com/304NotModified/NLog-Demo-cases/tree/master/ConsoleWithClassLib
编辑:
添加了第二个演示,在这种情况下,NLog由类库配置。在这种情况下,重要的是在登录之前配置NLog;)
库中的相关部分:
// setup config
var configuration = new LoggingConfiguration();
configuration.AddRuleForAllLevels(new ConsoleTarget());
LogManager.Configuration = configuration;
// log
Logger logger = LogManager.GetCurrentClassLogger();
logger.Info("Init class1");
完整演示:https://github.com/304NotModified/NLog-Demo-cases/tree/master/ConsoleWithClassLib2