我用这answer to a similar question块找到了解决方案
在项目中创建两个文件夹,每个文件夹对应于log4net的每个版本.将每个log4net放置.通过将文件添加到解决方案中(不带添加引用),在其相应的文件夹中创建dll.可以将"复制到输出目录"属性设置为"始终复制",以便在生成时自动将其复制到输出文件夹.
然后修改应用程序.通过添加以下内容来配置文件:
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="log4net" publicKeyToken="681549d62126b7b8" />
<codeBase version="1.2.9.0" href="log4netv1.2.9.0\log4net.dll" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="log4net" publicKeyToken="1b44e1d426115821" />
<codeBase version="1.2.10.0" href="log4netv1.2.10.0\log4net.dll" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="log4net" publicKeyToken="669e0ddf0bb1aa2a" />
<codeBase version="1.2.11.0" href="log4net.dll" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
您可以使用sn-T[assemblyName]获取程序集的公钥令牌