9

我今天尝试将它们一起使用,但版本不匹配,因为它正在寻找 NLog v1。

Common.Logging 是否支持 NLog v2?

如果没有,有谁知道是否可以安全地使用程序集版本重定向?

4

2 回答 2

7

您可以简单地在 app.config 或 web.config 中执行程序集重定向,并且 CommonLogging 将通过使用 NLog2 作为日志框架与 NLog2 正常工作:

  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="NLog" publicKeyToken="5120e14c03d0593c" culture="neutral" />
        <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0"/>
      </dependentAssembly>
    </assemblyBinding>
  </runtime>

唯一的问题是如果您想使用 CommonLogging 2.0 将 NLog 消息重定向到其他一些日志框架,那么就会出现兼容性问题。但这是一个非常不寻常的用例。

于 2011-07-29T16:06:21.750 回答
1

如果您使用 Nuget 获取Common.Logging.NLog库,该包将下载 Common.Logging v2.0 依赖项。如果你使用 Nuget 更新Common.Logging,它会更新到 v2.1.1.0,这样可以防止Could not load file or assembly 'NLog, Version=1.0.0.505错误。

于 2012-08-26T05:01:14.853 回答