我在一个解决方案中有 WCF 项目和其他类库。我使用 nuget 包管理器为需要日志记录的项目添加了 Common.Logging。
我收到这个错误:
Unable to create type 'Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter, Common.Logging.Log4Net'
当我执行时:
Common.Logging.ILog logger = Common.Logging.LogManager.GetLogger<Service1>();
logger.Error("Test");
我的 Web.Config 是 here
编辑: Bin 文件夹有 Common.Logging.Log4net1213.dll 以及 log4net.dll
最佳答案
检查您的 Common.Logging.Log4net.dll 是否已复制到您的输出目录。在大多数情况下,dll 丢失是因为项目中没有直接引用。
在你的配置中你有:
<logging>
<factoryAdapter type="Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter, Common.Logging.Log4Net">
<arg key="configType" value="INLINE" />
</factoryAdapter>
</logging>
Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter、Common.Logging.Log4Net -> 引用不在您的目录中的 Common.Logging.Log4Net.dll。有一个 Common.Logging.Log4Net1213.dll dll。所以你可以将配置更改为:
<logging>
<factoryAdapter type="Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter, Common.Logging.Log4Net1213">
<arg key="configType" value="INLINE" />
</factoryAdapter>
</logging>
或者重命名dll
关于c# - 无法创建类型 'Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter, Common.Logging.Log4Net',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30595476/