我已将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>
答案 0 :(得分:7)
您使用其他第三方图书馆吗?也许其中一个需要这个特定版本的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
答案 1 :(得分:2)
遇到同样的问题。 LinqToExcel库使用的是不同版本的log4net。
要解决它:
删除参考文献中的旧log4net版本。
转到工具,Nuget Packet Manager,软件包管理器控制台。
运行:
Install-Package log4net -Version 2.0.3
此处有更多详情: