Вы можете просто выполнить перенаправление сборки в 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, тогда возникнет проблема совместимости.Но это очень необычный вариант использования.