1

это пример приложения ASP.NET MVC 5. пытается изучить модуль NHibernate MVC.NHibernate запрашивает hibernate.cfg.xml, даже если настроен web.config

если правильно понят. Файл hibernate.cfg.xml не обязательно, если параметры, закодированные в web.config, являются конфигурационными.

версия xmlns неверна? или вы видите что-то с ошибкой? Итак, почему NHibernate запрашивает hibernate.cfg.xml, даже если настроен web.config? (спасибо)

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

<hibernate-configuration xmlns="urn:nhibernate-configuration-version-2.2"> 
    <session-factory> 
    <property name="dialect">NHibernate.Dialect.MySQLDialect</property> 
    <property name="connection.driver_class">NHibernate.Driver.MySqlDataDriver</property> 
    <property name="connection.connection_string_name">LocalMySqlServer</property> 
</session-factory> 
</hibernate-configuration> 

получаю эту ошибку:

Could not find file '...\Visual Studio 2013\Projects\bin\Debug\hibernate.cfg.xml'. 

и БД статический член класса (который используется один раз в Global.asax.cs метода Application_Start) является:

public static void Configure() 
    { 

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


     var mapper1 = new ModelMapper(); 
     mapper.AddMapping<UserMap>(); 
     config.AddMapping(mapper.CompileMappingForAllExplicitlyAddedEntities()); 
     _sessionFactory = config.BuildSessionFactory(); 

// _session factory is a class member defined as 
// private static ISessionFactory _sessionFactory; 
    } 

NHibernate 4.0.3.4000 установлен [с использованием nuget]

+0

Попробуйте присвоить элемент 'hibernate-configuration' вместо' hybernate-configuration'. –

+0

изменен, очищен проект, восстановлен. не повезло. такая же ошибка, хотя исправлена ​​ошибка орфографии. –

ответ

1

нашел ответ. кажется, ключевая схема изменена в новой версии NHibernate

изменил

<hibernate-configuration xmlns="urn:nhibernate-configuration-version-2.2"> 

в

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

исправляет проблему. Я уверен, потому что я повторил предыдущую схему. и бо! тот же самый бросок ошибки. поэтому строка xmlns обновляется.

как я его нашел. открыл web.config> xml в меню> Схемы [добавлены файлы nshernate xsd, которые вы можете найти в вашем проекте \ пакеты] , чем автозаполнение работало в web.config и показало мне правильную строку схемы.