【发布时间】: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