Ale*_*lex 3 c# logging log4net quartz.net common.logging
我在Windows服务中使用Quartz.net.目前,触发器没有触发 - 我想使用日志记录找出原因.
我编辑了Windows服务的配置文件:
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
<sectionGroup name="common">
<section name="logging" type="Common.Logging.ConfigurationSectionHandler, Common.Logging" />
</sectionGroup>
</configSections>
<appSettings>
<!--specific win service settings here-->
</appSettings>
<common>
<logging>
<factoryAdapter type="Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter, Common.Logging.Log4Net">
<arg key="configType" value="INLINE"/>
<arg key="configFile" value="c:\sched.log"/>
<arg key="level" value="INFO" />
</factoryAdapter>
</logging>
</common>
<log4net>
<appender name="EventLogAppender" type="log4net.Appender.EventLogAppender">
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%d [%t] %-5p %l - %m%n" />
</layout>
</appender>
<root>
<level value="INFO" />
<appender-ref ref="EventLogAppender" />
</root>
</log4net>
Run Code Online (Sandbox Code Playgroud)
我的文件结构如下:
C:\ CompanyName - 所有项目的根目录
C:\ CompanyName\build\bin - 我的解决方案中所有项目/类库的输出目录
C:\ CompanyName\lib - 放置第三方二进制文件/ dll的位置
在我的Windows服务项目中,我有一个Quartz的引用(在C:\ CompanyName\lib文件夹中)
我还添加了对Common.Logging.Log4net.dll的引用
当我测试我的应用程序时,我收到以下错误:
无法加载文件或程序集'Common.Logging,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = af08829b84f0328e'或其依赖项之一.定位的程序集的清单定义与程序集引用不匹配.(来自HRESULT的异常:0x80131040)":"Common.Logging,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = af08829b84f0328e