无法加载文件或程序集 log4net

Posted

技术标签:

【中文标题】无法加载文件或程序集 log4net【英文标题】:Could not load file or assembly log4net 【发布时间】:2014-12-22 10:47:15 【问题描述】:

我已将log4net 添加到我的项目中,它在我的机器上运行良好,但是当我将我的应用程序的发布版本发送给我的同事时,他收到了这个FileNotFoundException

无法加载文件或程序集'log4net,版本=1.2.13.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a'

但奇怪的是,在我的app.config 中,我什至没有使用上述版本的log4net:

<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<section name="BizWizard.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
</sectionGroup>

【问题讨论】:

看看***.com/questions/8743992/… 可能这就是你的情况所需要的。 @csprabala 我正在尝试进行修复。但为什么它在我的机器上运行良好? 我知道这听起来很愚蠢,但是您是否将 log4net DLL 与您的应用程序一起发送给您的同事? @BerndLinde 是的 log4net.dll 和 log4net.xml 都包含在文件夹中。 两个系统都是64位的吗? (参考here) 【参考方案1】:

您是否使用其他第三方库?也许其中一个需要这个特定版本的 log4net。如果是这种情况,可以使用应用程序 app.config 文件中的程序集绑定来解决此问题。

<runtime>
  <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
    <dependentAssembly>
      <assemblyIdentity name="log4net" publicKeyToken="669e0ddf0bb1aa2a" />
      <codeBase version="1.2.13.0" href="log4netv1.2.13.0\log4net.dll" />
    </dependentAssembly>
  </assemblyBinding>
</runtime>

然后将这个 1.2.13.0 版本的 log4net 放在一个名为 log4netv1.2.13.0 的子文件夹中

您也可以尝试使用 bindingRedirect 将所有对 log4net 的引用重定向到特定(您的)版本。 http://msdn.microsoft.com/en-us/library/7wd6ex19(v=vs.110).aspx

【讨论】:

我刚刚降级到 log4net 1.2.0 并开始工作。因为我不是在寻找未来的问题,所以我想我现在会坚持这个。 放一些文件夹,重定向...你在说什么?多年来都使用 nuget 包!他们不能简单地将库放在您想要的文件夹中并解决问题!【参考方案2】:

遇到了同样的问题。 LinqToExcel 库使用了不同版本的 log4net。

解决它:

在参考文献中删除旧的 log4net 版本。

转到工具、Nuget 包管理器、包管理器控制台。

运行:

安装包 log4net -Version 2.0.3

更多细节在这里:

https://www.nuget.org/packages/log4net/2.0.3

【讨论】:

这个问题是,当其他东西依赖于新版本时:(

以上是关于无法加载文件或程序集 log4net的主要内容,如果未能解决你的问题,请参考以下文章

未处理的异常: 未能加载文件或程序集

未能加载文件或程序集

无法加载文件或程序集,但已加载

Word VSTO 4.0 插件无法加载:无法加载文件或程序集

无法加载文件或程序集 'PayPalAdaptivePaymentsSDK,版本 = 2.12.117.0

能加载文件或程序集“Aspose.Cells”或它的某一个依赖项。无法验证强名称签名