我有一个 .net 项目,它使用来自 nuget.org 的 System.Configuration.ConfigurationManager 5.0.0 和 log4net 2.0.15。 当 log4net 尝试初始化时,我遇到了 System.Configuration.ConfigurationManager.dll 的程序集加载问题,因为它需要 4.0.1.0 的 System.Configuration.ConfigurationManager 而不是 5.0.0.
错误消息如下所示:
System.IO.FileNotFoundException:无法加载文件或程序集“System.Configuration.ConfigurationManager,Version=4.0.1.0,Culture=neutral,PublicKeyToken=cc7b13ffcd2ddd51”。系统找不到指定的文件。
如何强制 log4net.dll 使用 System.Configuration.ConfigurationManager 5.0.0.0? 我试图添加一个 log4net.dll.config 如下,但没有工作。 log4net 仍然尝试加载旧版本的 System.Configuration.ConfigurationManager。任何人都知道如何解决这个问题,除了从源代码重建log4net?
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Configuration.ConfigurationManager" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>