【问题标题】:Could not load file or assembly 'Lucene.Net, Version=2.9.2.2, The located assembly's manifest definition does not match the assembly reference无法加载文件或程序集 'Lucene.Net,版本 = 2.9.2.2,定位程序集的清单定义与程序集引用不匹配
【发布时间】:2014-07-20 08:29:22
【问题描述】:

我正在尝试在我的网络应用程序中实现 NHibernate.Search, 我从 NuGet 完成了配置并将包加载到应用程序

但是当我运行应用程序时,它会抛出以下错误

无法加载文件或程序集 'Lucene.Net, Version=2.9.2.2, Culture=neutral, PublicKeyToken=null' 或其依赖项之一。这 定位程序集的清单定义与程序集不匹配 参考。 (HRESULT 异常:0x80131040)

程序集管理器从以下位置加载: C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll 下运行 可执行文件 C:\Program Files (x86)\Common Files\Microsoft Shared\DevServer\10.0\WebDev.WebServer40.exe --- 详细的错误日志如下。

=== 预绑定状态信息 === LOG: DisplayName = Lucene.Net, Version=2.9.2.2, Culture=neutral, PublicKeyToken=null (完全指定)日志:Appbase = file:///D:/SJ/Application/Solution/SJ.Web/ LOG:初始 PrivatePath = D:\SJ\Application\Solution\SJ.Web\bin 调用 程序集:NHibernate.Search,版本=2.0.2.4000,文化=中性, PublicKeyToken=null。 === LOG:此绑定在默认加载上下文中开始。 LOG:使用应用程序配置文件: D:\SJ\Application\Solution\SJ.Web\web.config 日志:使用主机 配置文件:LOG:使用来自的机器配置文件 C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config。 日志:此时未将策略应用于参考(私人, 自定义、部分或基于位置的程序集绑定)。日志:尝试 下载新网址 file:///C:/Users/AppData/Local/Temp/Temporary ASP.NET 文件/root/33aeca0d/35fb23ff/Lucene.Net.DLL。日志:尝试下载 新 URL 文件:///C:/Users/AppData/Local/Temp/Temporary ASP.NET 文件/root/33aeca0d/35fb23ff/Lucene.Net/Lucene.Net.DLL。日志: 正在尝试下载新 URL file:///D:/SJ/Application/Solution/SJ.Web/bin/Lucene.Net.DLL。 警告:比较程序集名称导致不匹配:公钥 TOKEN ERR:无法完成程序集设置(hr = 0x80131040)。 探测终止。

这个错误的原因是什么,我该如何解决这个问题?

【问题讨论】:

  • 请确认您已从 nuget 安装 2.9.2.2 版本,版本可能不同。您可以在包控制台 install-package Lucene.Net -version 2.9.2.2 上使用此命令
  • “比较程序集名称导致不匹配:PUBLIC KEY TOKEN”。听起来有人编译了他们自己的 Lucene.Net 版本。
  • 感谢 vgSefa 考虑我的问题,之前使用的是 3.0.3 但现在我安装了 2.9.2.2 但仍然出现同样的错误,请帮助我
  • 谢谢 Simon Svensson,你能告诉我我能做些什么吗?

标签: .net lucene.net nhibernate.search


【解决方案1】:

我遇到了类似的问题。

尝试查看 packages.config 内部,您应该会看到 Lucene 包和编译时正在寻找的版本。尝试从 Nuget 包管理器中删除该包,然后输入 packages.config 并检查它是否仍指向某个版本。如果是这种情况,请删除此文件中的引用,然后重新安装您要使用的版本。

然后再来这里检查它是否指向正确的版本。我认为您甚至可以在此处更改版本以指向正确的位置。

希望对你有帮助

感谢您的回答很有帮助,我已经通过以下方式解决了我的问题,我从我的解决方案中删除了所有 Lucene.Net,我已经从 https://nhcontrib.svn.sourceforge.net/svnroot/nhcontrib/trunk/src/NHibernate.Search 下载了 lucene.net 并手动添加了参考,现在它正在工作

【讨论】:

  • 我很高兴你能解决你的问题@Premila
猜你喜欢
  • 2013-08-24
  • 2019-12-04
  • 2021-10-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-30
相关资源
最近更新 更多