3

我想升级到 Nlog 2.1 版。我应该使用哪个版本的 Common Logging 库?

我目前正在使用带有 Nlog 2.0 的 Common Logging 2.0 版。我用 2.1 替换了 NLog v2.0,但它不起作用。有什么帮助吗?

我收到此错误 - 无法从配置部分“common/logging”获取 Common.Logging 的配置。

4

1 回答 1

3

您应该使用Common.Logging.NLog20但您必须添加程序集重定向:

<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
  <dependentAssembly>
    <assemblyIdentity name="Common.Logging" publicKeyToken="af08829b84f0328e" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-2.1.2.0" newVersion="2.1.2.0" />
  </dependentAssembly>
  <dependentAssembly>
    <assemblyIdentity name="NLog" publicKeyToken="5120e14c03d0593c" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-2.1.0.0" newVersion="2.1.0.0" />
  </dependentAssembly>
</assemblyBinding>

您的常用日志配置应如下所示:

<common>
    <logging>
      <factoryAdapter type="Common.Logging.NLog.NLogLoggerFactoryAdapter, Common.Logging.NLog20">
        <arg key="configType" value="FILE" />
        <arg key="configFile" value="~/NLog.config" />
      </factoryAdapter>
    </logging>
  </common>

值得庆幸的是,用于 common.logging 和适配器的 nuget 包已更改(请参见此处)您应该能够使用 Common.Logging.NLog21 库。

于 2014-03-06T11:52:27.643 回答