我使用NuGet包管理器在我的项目中添加了Log4Net,它显示已安装版本2.3。
以下是我的配置条目:
<configSections>
<section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>
然后在这里引用此文件
<log4net configSource="Log4Net.config" />
<system.serviceModel>
当我运行网站时,出现以下异常信息:
我已经看到dll文件存在于bin文件夹中,但显示的版本是1.2.13.0。无法加载文件或程序集“log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821”或其中的一个依赖项。找到的程序集清单定义与 程序集引用不匹配。(HRESULT 异常:0x80131040)
描述:当前 Web 请求的执行期间发生未经处理的异常。请检查堆栈跟踪以获取有关错误的更多信息以及代码中的起源位置。
异常详细信息:System.IO.FileLoadException: 无法加载文件或程序集“log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821”或其中的一个依赖项。找到的程序集清单定义与程序集引用不匹配。 (HRESULT 异常:0x80131040)
源错误:
在当前 Web 请求的执行期间生成了一个未处理的异常。可以使用下面的异常堆栈跟踪标识异常的起源和位置信息。
如何更改程序集版本?
Log4Net
降级到1.2.10.0
版本来解决了问题,一切都正常工作。现在我不能这样做了,因为我已经将补丁发布到生产环境中。我仍然会标记你的答案以供将来参考(给其他人)。 - Naveed Buttpackages.config
文件,结果付出了整整一天的代价。 - RBT