2009-01-29 8 views
3

J'essaie d'utiliser NHibernate.Search que j'ai construit à partir du tronc et utiliser avec NHibernate 2.0.1. Lorsque j'ajoute quelques propriétés NHibernate.Search config dans le fichier configuaration:Comment ajouter le fichier de configuration NHibernate pour utiliser NHibernate.Search?

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

je reçois un System.Xml.Schema.XmlSchemaException invalide: La contrainte Enumeration a échoué. Quand j'utilise:

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

Alors, comment puis-je résoudre ce problème?

Répondre

3

Assurez-vous que les propriétés NHibernate.Search que vous définissez sont incluses dans le bloc de configuration nhs et non dans le bloc de configuration NHibernate standard. Votre web.config devrait ressembler à ceci:

<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> 
Questions connexes