使用AdoNetAppender时,Log4net依赖于System.Data.dll

时间:2012-12-11 10:51:59

标签: .net sql-server .net-4.0 log4net system.data

我们在当前项目中设置了log4net,以使用AdoNetAppender将日志条目写入SQL Server数据库。这一切都正常,但由于某些原因,为了使其工作,我们必须在System.Data.dll上将Copy Local设置为true - 如果bin目录中不存在此DLL,则log4net将不会输出到SQL Server并将丢失有关丢失的DLL的错误。

这是log4net中的错误吗?我认为,由于System.Data.dll是一个.Net框架组件,log4net可以在GAC中找到它。

供参考,我们使用的是log4net 1.2.10.0和.Net 4.5

编辑 - 为了更好的可读性,如果有其他人遇到此问题,我使用的原始XML配置将connectionType定义为:

<connectionType value="System.Data.SqlClient.SqlConnection, System.Data" />

将其更改为以下内容解决了问题。

<connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />

1 个答案:

答案 0 :(得分:9)

你能试试吗?我不确定什么版本的System.Data适用于.NET 4.5,但无论如何这应该可行:

<connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />