我们正在将项目从sitecore 6.2迁移到sitecore 7.1。
我尝试在升级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中的安装向导安装软件包时
答案 0 :(得分:2)
正如Exception Message
所述,Sitecore' ContentSearch
存在问题。它与Lucene版本或升级问题无关。问题的根源是不正确的Lucene或Solr(取决于您使用的是哪个)IndexConfiguration.config
文件。
先检查
在继续之前,请确保它不是人为错误。如果App_Config/Includes/
中的索引文件不止一次,则会显示此错误。或者,如果两个或多个索引配置文件具有相同的xml元素名称。
选项1 - 删除文件
您可以从/App_Config/Includes/
文件夹中删除有问题的IndexConfiguration.config,并更新相关的Index
配置文件以使用DefaultIndexConfiguration
XML节点中的configuration
; < / p>
<configuration ref="contentSearch/indexConfigurations/defaultLuceneIndexConfiguration" />
选项2 - 修复文件
另一个选项是修改自定义IndexConfiguration。大多数开发人员都熟悉通过复制配置文件的整个内容来创建自定义Index
,因此将复制整个DefaultIndexconfiguration
配置以创建导致异常的自定义IndexConfiguration
。这不是必需的。
您只需要DefaultIndexconfiguration
配置中的少量设置,如本博客中所示,如何create a custom IndexConfiguration。
答案 1 :(得分:0)
我没有查看任何代码,但听起来像调用者(“Sitecore Active Directory 1.1 rev.130705”)是使用较旧版本的Lucene.Net编译的。检查AD包的参考资料,确保您使用的是相同版本的Lucene.Net,或升级您的AD包以使用更新的版本。
我不能说在升级Lucene.Net相关代码时会涉及多少编码(如果您有权访问它),但过去一两年的更新主要是大小写更改或get方法转换为真实属性
答案 2 :(得分:0)
我遇到了类似的问题,它与开发人员在app_config \ include目录中创建备份文件有关。
他们正在更新其中一个配置文件,为了创建备份,他们只是复制了该文件,创建了另一个.config文件(SameName-copy.config)
要解决此问题,我们只需将其重命名为SameName-copy.config.bak-ccyymmdd
希望这可以帮助未来有类似问题的人。
答案 3 :(得分:-2)
请注意,您无法直接从6.2升级到7.1。你将不得不分步进入6.5,7,然后是7.1