我通过使用类似问题的答案找到了解决方案
您在项目中为每个log4net版本创建2个文件夹。通过将文件添加到解决方案中(而不使用添加引用),将每个log4net.dll放置在其相应的文件夹中。您可以将复制到输出目录属性设置为始终复制,以便在构建时将其自动复制到输出文件夹。
然后,您可以通过添加如下内容来修改app.config文件:
<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]获取程序集的公钥令牌。