2013-12-05 3 views
5

Мы переносим проект из файла sitecore 6.2 в sitecore 7.1.Не удалось создать экземпляр типа: Sitecore.ContentSearch.LuceneProvider.Analyzers.DefaultPerFieldAnalyzer. Не найдено соответствующего конструктора

После обновления Lucene Search я пытаюсь установить пакет Active Directory «Sitecore Active Directory 1.1 rev. 130705». Я получаю ошибку

"Sitecore.Exceptions.ConfigurationException: Could not create instance of type: Sitecore.ContentSearch.LuceneProvider.Analyzers.DefaultPerFieldAnalyzer. No matching constructor was found.". 

Это когда я пытаюсь установить пакет с помощью мастера установки в Sitecore 7,1

+3

Вам удалось это исправить? –

ответ

0

Я havn't проверил любой код, но это звучит как вызывающему ("Sitecore Active Directory 1.1 rev. 130705 ") с более старой версией Lucene.Net. Проверьте ссылки AD-пакета и убедитесь, что используете ту же версию Lucene.Net, или обновите свой AD-пакет, чтобы использовать более новую версию.

Я не могу сказать, сколько кодирования связано с обновлением связанного с Lucene.Net кода (если у вас есть к нему доступ), но обновления за последний год или два - это в основном изменения обсадной колонны или методы получения, преобразованные в реальный свойства.

-2

Обратите внимание, что вы не можете выполнить обновление непосредственно с 6.2 до 7.1. Вам нужно будет идти в шагах, перейдя на 6.5, 7, а затем 7.1

+0

Это не пытается ответить на вопрос. Это было опубликовано как ответ, но он не пытается ответить на вопрос. Это должно быть редактирование, комментарий, другой вопрос или вообще исключить. – cybermonkey

2

Как говорится в Exception Message, проблема с Sitecore ContentSearch. Это не касается версии Lucene или проблем с обновлением. Источником проблемы является неправильная Lucene или Solr (в зависимости от того, что вы используете) IndexConfiguration.config файл.

Проверить это первый

Перед тем как продолжить убедитесь, что его не человеческая ошибка. Эта ошибка будет отображаться, если у вас есть индексный файл в App_Config/Includes/ более одного раза. Или если два или более файла конфигурации индекса с тем же именем элемента xml.

Вариант 1 - Удалить файл

Вы можете либо удалить нарушителя IndexConfiguration.config из папки /App_Config/Includes/ и обновления, касающиеся Index конфигурационных файлов для использования в DefaultIndexConfiguration в узле configuration XML;

<configuration ref="contentSearch/indexConfigurations/defaultLuceneIndexConfiguration" /> 

Вариант 2 - Fix файл

Другой вариант заключается в изменении пользовательского IndexConfiguration. Большинство разработчиков знакомы с созданием пользовательского Index путем копирования всего содержимого файла конфигурации, поэтому скопируйте весь конфигурационный файл DefaultIndexconfiguration, чтобы создать пользовательский код IndexConfiguration, вызывающий исключение. Это не нужно.

Вам нужно только небольшое количество настроек из конфигурации DefaultIndexconfiguration, как показано в этом блоге о том, как create a custom IndexConfiguration.

0

У меня была аналогичная проблема, и это связано с тем, что разработчик создал файл резервной копии в каталоге app_config \ include.

Они обновляли один из конфигурационных файлов, и для создания резервной копии они просто скопировали файл, который создал другой файл .config (SameName-copy.конфигурации)

Чтобы исправить мы переименовали его в SameName-copy.config.bak-ccyymmdd

Надеются, что это помогает кто-то в будущем с подобной проблемой.

Смежные вопросы