Недавно я обновил установку Sitecore с 6.5 до 6.6. Часть этого обновления также обновляет библиотеку Lucene.Net от 2.3.1.3 до 2.9.4.1, что вносит некоторые изменения. База кода использовала много настраиваемого кода вокруг поисковой системы Lucene.Net, которую нужно было удалить для установки. Теперь, когда я это сделал, я пытаюсь повторно реализовать функции поиска, но я не могу получить простейший поиск для компиляции. Например, этот код:Sitecore 6.6 Проблема обновления Lucene.Net
using (var sc = SearchManager.GetIndex("system").CreateSearchContext())
{
var query = new FullTextQuery("health");
SearchHits hits = sc.Search(query);
}
производит эту ошибку:
Error 104 The type 'Lucene.Net.Search.Query' is defined in an assembly that is not referenced. You must add a reference to assembly 'Lucene.Net, Version=2.3.1.3, Culture=neutral, PublicKeyToken=null'.
Я подтвердил, что у меня есть только версия Lucene.Net 2.9.4.1 ссылка в моем проекте. Почему этот код ищет версию 2.3.1.3?
Можете ли вы проверить свои файлы конфигурации на любые ссылки на Lucene, версия 2.3.1.3? Вероятно, вы ссылаетесь на старую версию в конфигурациях, но указали новую версию в своем проекте. – Trayek
Также; убедитесь, что ваше обновление прошло нормально. Это непростая ошибка; для обновления, но не для очистки 6.5 файлов Sitecore.Kernel DLL из разных директорий проектов (/ obj и/bin в каждом проекте, на который делается ссылка). Обязательно очистите их и перестройте, используя 6.6 Sitecore.Kernel –
@Trayek Единственное место, где версия специально указана в любом из конфигураций, находится в bindingRedirect, а это 2.9.4.1. Есть ли где-то еще в конфигурациях, которые могли бы отключить его? – gfrizzle