3

トランクから構築したNHibernate.Searchを使用してNHibernate2.0.1で使用しようとしています。NHibernate.Searchプロパティ構成を構成ファイルに追加すると、次のようになります。

<property name="hibernate.search.default.directory_provider">NHibernate.Search.Storage.RAMDirectoryProvider, NHibernate.Search</property>
<property name="hibernate.search.default.indexBase">~\index\</property>

無効なSystem.Xml.Schema.XmlSchemaExceptionが発生します:列挙型制約が失敗しました。私が使用するとき:

var configuration = new Configuration().Configure();

では、どうすればこの問題を解決できますか?

4

1 に答える 1

3

定義する NHibernate.Search プロパティが、標準の NHibernate 構成ブロックではなく、nhs-configuration ブロックに含まれていることを確認してください。web.config は次のようになります。

<section name="hibernate-configuration" type="NHibernate.Cfg.ConfigurationSectionHandler, NHibernate" />
<section name="nhs-configuration" type="NHibernate.Search.Cfg.ConfigurationSectionHandler, NHibernate.Search" />

<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
    <!-- nhibernate configuration block -->
</hibernate-configuration>

<nhs-configuration xmlns='urn:nhs-configuration-1.0'>
    <search-factory>
        <property name='hibernate.search.default.directory_provider'>NHibernate.Search.Store.FSDirectoryProvider, NHibernate.Search</property>

        <property name='hibernate.search.default.indexBase'>...</property>
    </search-factory>
</nhs-configuration>
于 2009-02-06T01:59:00.273 に答える