5

我们正在将项目从 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 中的安装向导安装软件包时

4

4 回答 4

2

正如Exception Message所说,它与 Sitecore 的ContentSearch. 它与 Lucene 的版本或升级问题无关。问题的根源是不正确的 Lucene 或 Solr(取决于您使用的是哪个)IndexConfiguration.config文件。

先检查这个

在继续之前,请确保它不是人为错误。App_Config/Includes/如果您有不止一次的索引文件,则会显示此错误。或者,如果两个或多个索引配置文件具有相同的 xml 元素名称。

选项 1 - 删除文件

您可以从/App_Config/Includes/文件夹中删除有问题的 IndexConfiguration.config 并更新相关的Index配置文件以DefaultIndexConfigurationconfigurationXML 节点中使用;

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

选项 2 - 修复文件

另一种选择是修改自定义 IndexConfiguration。大多数开发人员都熟悉Index通过复制配置文件的全部内容来创建自定义,因此将复制整个DefaultIndexconfiguration配置以创建IndexConfiguration导致异常的自定义。这不是必需的。

您只需要配置中的少量设置,DefaultIndexconfiguration如本博客中关于如何创建自定义 IndexConfiguration所示。

于 2015-09-01T11:34:57.680 回答
0

我没有检查任何代码,但听起来调用者(“Sitecore Active Directory 1.1 rev. 130705”)是用旧版本的 Lucene.Net 编译的。检查 AD 包的引用并确保您使用的是相同版本的 Lucene.Net,或者升级您的 AD 包以使用较新的版本。

我不能说升级 Lucene.Net 相关代码时涉及多少编码(如果您可以访问它),但过去一两年的更新主要是外壳更改或转换为真实属性的 get 方法。

于 2013-12-05T05:36:08.933 回答
0

我遇到了类似的问题,这与开发人员在 app_config\include 目录中创建备份文件有关。

他们正在更新其中一个配置文件,为了创建备份,他们只是复制了该文件,该文件创建了另一个 .config 文件(SameName-copy.config)

为了解决这个问题,我们只是将它重命名为 SameName-copy.config.bak-ccyymmdd

希望这对将来有类似问题的人有所帮助。

于 2016-02-05T05:48:24.020 回答
-2

请注意,您不能直接从 6.2 升级到 7.1。您将必须逐步进行,进入 6.5、7 和 7.1

于 2014-11-07T13:16:29.770 回答