Не удалось загрузить файл или сборку 'Lucene.Net, версия =2.9.2.2, определение манифеста обнаруженной сборки не соответствует ссылке на сборку
Я пытаюсь реализовать NHibernate.Search для моего веб-приложения, я сделал настройки и загрузил пакеты в приложение из NuGet
Но когда я запускаю приложение, оно выдает следующую ошибку
Не удалось загрузить файл или сборку 'Lucene.Net, версия =2.9.2.2, культура = нейтральная, 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, версия =2.9.2.2, культура = нейтральная, PublicKeyToken=null (полностью определена) LOG: Appbase = file:///D:/SJ/Application/Solution/SJ.Web/ LOG: Initial PrivatePath = D:\SJ\Application\Solution\SJ.Web\bin Вызов сборки: NHibernate.Search, версия =2.0.2.4000, Culture= нейтральный, PublicKeyToken=null. === LOG: эта привязка начинается в контексте загрузки по умолчанию. LOG: использование файла конфигурации приложения: D:\SJ\Application\Solution\SJ.Web\web.config LOG: использование файла конфигурации хоста: LOG: использование файла конфигурации компьютера из C: \ Windows \ Microsoft.NET \ Framework \ v4. 0,30319 \ Config\machine.config. LOG: политика, не применяемая в настоящее время для ссылки (частная, пользовательская, частичная или привязка сборки на основе местоположения). LOG: Попытка загрузки нового файла URL:///C:/Users/AppData/Local/Temp/ Временные файлы ASP.NET /root/33aeca0d/35fb23ff/Lucene.Net.DLL. LOG: Попытка загрузки нового файла URL:///C:/Users/AppData/Local/Temp/ Временные файлы ASP.NET /root/33aeca0d/35fb23ff/Lucene.Net/Lucene.Net.DLL. LOG: Попытка загрузки нового файла URL:///D:/SJ/Application/Solution/SJ.Web/bin/Lucene.Net.DLL. WRN: Сравнение имени сборки привело к несоответствию: PUBLIC KEY TOKEN ERR: Не удалось завершить настройку сборки (hr = 0x80131040). Зондирование прекращено.
В чем причина этой ошибки и как я могу это исправить?
1 ответ
У меня была похожая проблема.
Попробуйте заглянуть внутрь packages.config
и вы должны увидеть пакет Lucene и версию, которую вы ищете при компиляции. Попробуйте удалить пакет из диспетчера пакетов Nuget, а затем введите packages.config и проверьте, указывает ли он на какую-либо версию. Если это так, удалите ссылку в этом файле, а затем снова установите версию, которую вы хотите использовать.
Тогда приходите сюда снова и проверьте, указывает ли он правильную версию. Я думаю, что вы даже можете изменить здесь версию, чтобы указать в нужном месте.
надеюсь, это поможет
Спасибо, ваш ответ полезен, и я исправил свою проблему следующим образом, я удалил все Lucene.Net из своего решения и загрузил lucene.net с https://nhcontrib.svn.sourceforge.net/svnroot/nhcontrib/trunk/src/NHibernate.Search и добавил ссылку вручную, теперь она работает