从内部的nuget库包中获取Nlog
本文关键字:包中 获取 Nlog nuget 内部 | 更新日期: 2023-09-27 18:06:47
我写了一个c#库项目,并添加了nlog。我正在使用日志文件。
然后我使用nuget包资源管理器为这个库创建了一个nuget包,其中包含以下文件:
-lib
--NLog.config
--NLog.dll
--Nlog.xml
--MyLibrary.dll
--MyLibrary.dll.config
我已经安装了这个nuget包到一个ASP。. NET web窗体项目。我已经在这个web表单项目上安装了NLog,并确认日志记录在这个项目中正常工作。
我的问题是我没有看到通过nuget安装的库项目的任何日志记录消息。web表单项目层次结构如下:
-WebFormsProject
--Default.aspx
--logs.log
--Default.aspx
--Nlog.config
--bin
---NLog.dll
---Nlog.xml
---MyLibrary.dll
---WebFormsProject.dll
我错过了什么从我的图书馆日志工作在WebFormsProject?
很可能您在日志中犯了一些错误。配置but…
请检查您正在使用的NLog.dll版本是否相同(因此,您构建MyLibrary.dll的版本和您的WebFormsProject)。
请注意,在NLog 3.0版本中,对dotnetfx20的支持已经被删除。现在需要dotnetfx35来使用最新的NLog。
如果这对您没有帮助,请尝试另一种方法来检测错误。例如,创建一个简单的控制台应用程序,在其中使用新创建的nuget包。你是在那里工作的吗?
另一件要记住的事情是,如果您有一个具有日志记录功能的应用程序Foo
和一个具有日志记录功能的dll Bar
,并且Foo
使用Bar
(就像它通常在这个例子中所做的那样)。
+ Foo
| | // some console app
| | // references and uses bar
| --- Foo.exe
| --- NLog.config
|
+--+ Bar
| // This is your dll
| // it also tries to be cool and log stuff
--- Bar.dll
--- NLog.config
当你编译并运行这个时,Foo
的NLog配置将被使用,而Bar
的配置将不做任何事情(它不会被复制,因为Foo
已经有一个)。