Можно ли использовать NLog v2 вместе с Common.Logging

Сегодня я пытался использовать их вместе и получал несоответствие версий, так как он ищет NLog v1.

Поддерживает ли Common.Logging NLog v2?

Если нет, кто-нибудь знает, можно ли безопасно использовать перенаправление версии сборки?

2 ответа

Вы можете просто выполнить перенаправление сборки в 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>

Единственная проблема заключается в том, что если вы хотите перенаправить сообщение NLog в какую-либо другую инфраструктуру ведения журналов, используя CommonLogging 2.0, тогда существует проблема совместимости. Но это очень необычный вариант использования.

Если вы использовали 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 ошибка.

Другие вопросы по тегам