同様の質問に対するこの回答を使用して解決策を見つけました
log4netのバージョンごとに1つずつ、プロジェクトに2つのフォルダーを作成します。ファイルをソリューションに追加して(参照の追加ではなく)、各log4net.dllを対応するフォルダーに配置します。ビルド時に出力フォルダーに自動的にコピーされるように、copy to outputdirectoryプロパティを常にコピーするように設定できます。
次に、次のようなものを追加して、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]を使用して、アセンブリの公開鍵トークンを取得できます。