参见英文答案 >
Log4Net in WCF not working4个
自从我将最新版本的log4net(1.2.11.0)放在我的解决方案项目上之后,我收到了附加的错误.
这在部署后立即在服务器上发生,当我再次刷新时,它会消失,直到下一次部署.请注意我已经尝试了以下版本的重定向代码,但它没有帮助:
自从我将最新版本的log4net(1.2.11.0)放在我的解决方案项目上之后,我收到了附加的错误.
这在部署后立即在服务器上发生,当我再次刷新时,它会消失,直到下一次部署.请注意我已经尝试了以下版本的重定向代码,但它没有帮助:
<runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="log4net" publicKeyToken="669e0ddf0bb1aa2a" culture="neutral" /> <bindingRedirect oldVersion="1.2.10.0" newVersion="1.2.11.0" /> </dependentAssembly> </assemblyBinding>
这是我得到的错误:
‘/’应用程序中的服务器错误.
无法加载文件或程序集’log4net,Version = 1.2.10.0,Culture = neutral,PublicKeyToken = 1b44e1d426115821’或其依赖项之一.定位的程序集的清单定义与程序集引用不匹配. (HRESULT异常:0x80131040)
异常详细信息:System.IO.FileLoadException:无法加载文件或程序集’log4net,PublicKeyToken = 1b44e1d426115821’或其依赖项之一.定位的程序集的清单定义与程序集引用不匹配. (HRESULT异常:0x80131040)
来源错误:
Line 76: </script> Line 77: <form id="form1" runat="server"> Line 78: <asp:ScriptManager ID="radscriptmanager" runat="server"> Line 79: </asp:ScriptManager> Line 80: <asp:ContentPlaceHolder ID="cphAfterScriptManager" runat="server">
源文件:MainFront.Master Line:78
程序集加载跟踪:以下信息有助于确定无法加载程序集“log4net,PublicKeyToken = 1b44e1d426115821”的原因.
解决方法
我怀疑这可能是因为您在应用程序中依赖于1.2.10,并且由于新的签名密钥,您安装的log4net的新版本不兼容.
1.2.11您会注意到已经签署了一个不同的密钥,这对许多人造成了痛苦.我最终还是回到了1.2.10.
但是,有一个版本的1.2.11与之前的密钥一起使用.只需下载并执行以下操作,一切都应该没问题.
<runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="log4net" publicKeyToken="1b44e1d426115821" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-1.2.10.0" newVersion="1.2.11.0"/> </dependentAssembly> </assemblyBinding> </runtime>
您可以从以下网址获取新旧密钥:http://logging.apache.org/log4net/download_log4net.cgi