asp.net-mvc – 如何成功配置Common.Logging?

我试图使用NuGet软件包来配置Common.Logging在ASP.Net MVC项目中使用NLog2.根据以下URL提供的信息,我相信我的记录器配置正确,但我仍然会收到配置错误.

Common.Logging Configuration Instructions

NLog Configuration Tutorial

我已按照说明将以下内容添加到web.config中:

<configuration>
  <configSections>
      <section name="nlog" type="NLog.Config.ConfigSectionHandler,NLog"/>
      <sectionGroup name="common">
            <section name="logging" type="Common.Logging.ConfigurationSectionHandler,Common.Logging" />
      </sectionGroup>
    </configSections>
    <common>
      <logging>
        <factoryAdapter type="Common.Logging.NLog.NLogLoggerFactoryAdapter,Common.Logging.NLog20">
            <arg key="configType" value="INLINE" />
        </factoryAdapter>
      </logging>
    </common>
    <nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <targets>
        <target name="logfile" xsi:type="file" filename="e:\logfile.txt" layout="${date:format=yyyy/MM/dd HH:mm:ss} ${message}" />
      </targets>
      <rules>
        <logger name="*" minlevel="Trace" writeto="logfile" />
      </rules>
    </nlog> 
    <runtime>
      <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
        <dependentAssembly>
          <assemblyIdentity name="Common.Logging" publicKeyToken="af08829b84f0328e" culture="neutral" />
          <bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
        </dependentAssembly>
      </assemblyBinding>
    </runtime>
</configuration>

据我所知,这是我应该做的一切,但是当我尝试运行Web项目时,我收到配置错误

Parser Error Message: An error occurred creating the configuration section handler for common/logging: Unable to create type ‘Common.Logging.NLog.NLogLoggerFactoryAdapter,Common.Logging.NLog20’

任何人都可以提供有关遗漏或错误的建议?

解决方法

问题似乎是Common.Logging NuGet包(v2.0.0)添加认配置是不正确的.

web.config中的运行时部分需要更改为以下内容

<dependentAssembly>
   <assemblyIdentity name="Common.Logging" publicKeyToken="af08829b84f0328e" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="2.0.0.0" />
  </dependentAssembly>

注意oldVersion值.这似乎是导致错误的原因(至少基于我在上述问题中概述的情况).

另请参见这个相关的GitHub问题:Possible Issues with Common.Logging / Common.Logging.NLog20 NuGet packages.

相关文章

这篇文章主要讲解了“WPF如何实现带筛选功能的DataGrid”,文...
本篇内容介绍了“基于WPF如何实现3D画廊动画效果”的有关知识...
Some samples are below for ASP.Net web form controls:(fr...
问题描述: 对于未定义为 System.String 的列,唯一有效的值...
最近用到了CalendarExtender,结果不知道为什么发生了错位,...
ASP.NET 2.0 page lifecyle ASP.NET 2.0 event sequence cha...