我正在尝试使用NuGet Package Explorer将一个C#库发布到NuGet。该库使用NLog进行日志记录。我的本地版本按预期工作。
我可以成功上传并下载该库,但是当我尝试使用从NuGet下载的版本时,我会遇到一个NullReferenceException异常。进一步的实验表明,这是由于LogManager.Configuration为null所导致的。
下面是我尝试使用LogManager.Configuration的代码:
我尝试将NLog.config重命名为nlog.dll.nlog,这是NLog维基页面推荐的方法(https://github.com/nlog/NLog/wiki/Configuration-file)。但这并没有解决问题。请问我该怎么做才能避免LogManager.Configuration为空?
我可以成功上传并下载该库,但是当我尝试使用从NuGet下载的版本时,我会遇到一个NullReferenceException异常。进一步的实验表明,这是由于LogManager.Configuration为null所导致的。
下面是我尝试使用LogManager.Configuration的代码:
var logger = LogManager.GetLogger("MyLibraryName");
var logTarget = new ColoredConsoleTarget();
var loggingRule = new LoggingRule("*", LogLevel.Info, logTarget);
logTarget.Layout = "${longdate} ${level} ${logger}: ${message} ${exception:format=tostring}";
LogManager.Configuration.LoggingRules.Add(loggingRule); // exception thrown here
看起来我的NLog.config文件被本地版本库自动使用了,但是下载的版本没有使用。
在NuGet包浏览器中,“包内容”如下所示:
- lib
- net45
- NLog.config
- MyLibrary.dll
我尝试将NLog.config重命名为nlog.dll.nlog,这是NLog维基页面推荐的方法(https://github.com/nlog/NLog/wiki/Configuration-file)。但这并没有解决问题。请问我该怎么做才能避免LogManager.Configuration为空?