Log4Net错误:无法加载文件或程序集'Log4Net, Version=1.2.10.0,文化=neutra

本文关键字:Log4Net Version neutra 文化 错误 加载 程序集 文件 | 更新日期: 2023-09-27 18:07:07

当尝试运行由供应商提供的用于试用API的MVC示例时,我得到以下错误:

[StructureMapConfigurationException: StructureMap configuration .failure: Error: 170StructureMap.Configuration.DSL。注册表,StructureMap,版本=2.6.3.0,文化=中性,PublicKeyToken=e60ad81abae3c223无法在程序集中找到导出的类型Groupdocs.Web.UI。比较,版本=2.0.5205.21794,文化=中性,都必须c9073b8a6a9c78c8。大会中的一个或多个可能缺少依赖项。

无法加载文件或程序集log4net, Version=1.2.10.0,文化=中性,PublicKeyToken=null'或其依赖项之一。一个强命名程序集是必需的。(来自HRESULT的例外:0x80131044) system . io . fileloadeexception:无法加载文件或文件assembly 'log4net, Version=1.2.10.0, Culture=neutral,PublicKeyToken=null'或其依赖项之一。一个strongly-named需要装配。(Exception from HRESULT: 0x80131044)'log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=null'
System.Reflection.RuntimeAssembly.GetExportedTypes (RuntimeAssemblyassembly, ObjectHandleOnStack retTypes)System.Reflection.RuntimeAssembly.GetExportedTypes ()StructureMap.Graph.TypePool灵活;> c__DisplayClass2灵活;.ctor> b__0(组装组装)

似乎专门与Log4net有关,但我已经得到了项目和版本(1.2.10)的正确参考,有趣的是,当我从另一台机器尝试相同的项目时,它可以工作,所以不确定实际问题是什么。我已经检查了GAC,没有log4net引用。

Log4Net错误:无法加载文件或程序集'Log4Net, Version=1.2.10.0,文化=neutra

错误提示:"需要强命名程序集"

我认为你应该在log4net中添加一个强命名密钥,或者从应用程序中删除一个强命名密钥。

一定有一个DLL在引用旧版本的log4net。你无法想象在我们的项目中有多少次遇到类似的问题。解决方案就是找到所有依赖log4net的项目并升级它们的版本。log4net的最新版本是1.2.13。在你的应用程序中一定有一个DLL,它仍然依赖于旧版本,在你的情况下是1.2.10。update-package -Id log4net

简单而方便的解决方案:

1 -构建整个解决方案,并确保项目成功编译和构建。

2 -搜索解决方案文件夹(在visual Studio中右键单击解决方案并"在文件资源管理器中打开文件夹"),查找log4net.dll

的所有实例

3 -在你的情况下,你很可能会在你的项目bin文件夹中看到同一个DLL的不同版本。比较这些DLL将引导您找到与其他解决方案不同的DLL。

如果配置中没有指定公钥令牌,请检查配置是否包含:

<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net,
                            Version=1.2.10.0, Culture=neutral, PublicKeyToken=1B44E1D426115821"/>

这将通过其强名称加载log4net程序集。