asp.net – 部署后初始加载时出现奇怪的log4net引用错误

前端之家收集整理的这篇文章主要介绍了asp.net – 部署后初始加载时出现奇怪的log4net引用错误前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
参见英文答案 > Log4Net in WCF not working4个
自从我将最新版本的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

猜你在找的asp.Net相关文章