В моем приложении есть следующее отображение.Отображение создается с помощью специального инструмента.Другие сгенерированные сопоставления работают нормально, но это дает мне странную ошибку, которую я не понимаю.
Это отображение;
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by NHibernate.Mapping.Attributes on 2010-10-29 08:39:48Z.-->
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<class name="Plugin.Twitter.Business.Entities.Tweet, Plugin.Twitter" table="PluginTwitter_Tweet">
<id name="Id" column="Id">
<generator class="guid" />
</id>
<property name="TweetMessage" />
<property name="TweetDate" />
<property name="TweetId" />
</class>
</hibernate-mapping>
Это ошибка, которую яполучить в браузере, когда я пытаюсь открыть веб-сайт, содержащий файл сопоставления;
Трассировка стека с ним, как показано ниже;
[InvalidOperationException: Could not find the dialect in the configuration]
NHibernate.Dialect.Dialect.GetDialect(IDictionary 2 props) +204
NHibernate.Cfg.Configuration.AddValidatedDocument(NamedXmlDocument doc) +155
[MappingException: Could not compile the mapping document: Plugin.Twitter.Business.Entities.Hbm.Tweet.hbm.xml]
NHibernate.Cfg.Configuration.AddValidatedDocument(NamedXmlDocument doc) +534
NHibernate.Cfg.Configuration.AddInputStream(Stream xmlInputStream, String name) +378
NHibernate.Cfg.Configuration.AddResource(String path, Assembly assembly) +419
NHibernate.Cfg.Configuration.AddAssembly(Assembly assembly) +355
NHibernate.Cfg.Configuration.AddAssembly(String assemblyName) +291
CMS.ResourceAccess.DataAccessLogic.SessionManagement.SessionManager..ctor() in C:\Projects\Website\Website.ResourceAccess\DataAccessLogic\SessionManagement\SessionManager.cs:73
Website.ResourceAccess.DataAccessLogic.SessionManagement.NestedSessionManager..cctor() in C:\Projects\Website\Website.ResourceAccess\DataAccessLogic\SessionManagement\SessionManager.cs:90
[TypeInitializationException: The type initializer for 'NestedSessionManager' threw an exception.]
Website.ResourceAccess.DataAccessLogic.SessionManagement.SessionManager.get_Instance() in C:\Projects\Website\Website.ResourceAccess\DataAccessLogic\SessionManagement\SessionManager.cs:39
CMS.ResourceAccess.DataAccessLogic.SessionManagement.SessionManager.get_SessionFactory() in C:\Projects\Website\Website.ResourceAccess\DataAccessLogic\SessionManagement\SessionManager.cs:23
Website.Backend.MvcApplication.StartNHibernateSession() in C:\Projects\Website\Website.Web\Global.asax.cs:82
Website.Backend.MvcApplication.Application_Start() in C:\Projects\Website\Website.Web\Global.asax.cs:47
[HttpException (0x80004005): The type initializer for 'NestedSessionManager' threw an exception.]
System.Web.HttpApplicationFactory.EnsureAppStartCalledForIntegratedMode(HttpContext context, HttpApplication app) +3988565
System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers) +191
System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context) +325
System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context) +407
System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext) +375
[HttpException (0x80004005): The type initializer for 'NestedSessionManager' threw an exception.]
System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +11529072
System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +141
System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +4784373
Я думаю, что важно заметить, что полученное исключение является исключением отображения, как показано с этим правилом;
MappingException: Could not compile the mapping document: Plugin.Twitter.Business.Entities.Hbm.Tweet.hbm.xml]
Я не понимаю, как и почему, хотя, поэтому я надеюсь, что кто-то может сказать мне, что означает ошибка и как я могу исправить эту проблему.У меня есть отображение, помеченное как встроенный ресурс.
ОБНОВЛЕНИЕ: Мы используем следующий файл hibernate.cfg.xml в приложении.
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-configuration xmlns='urn:nhibernate-configuration-2.2'>
<session-factory>
<property name="show_sql">true</property>
<property name="dialect">NHibernate.Dialect.MsSql2008Dialect</property>
<property name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property>
<property name="connection.connection_string_name">NHibernate</property>
<property name="current_session_context_class">managed_web</property>
<property name='proxyfactory.factory_class'>NHibernate.ByteCode.LinFu.ProxyFactoryFactory, NHibernate.ByteCode.LinFu</property>
<!--Needed for NH Profiler-->
<property name="generate_statistics">false</property>
</session-factory>
</hibernate-configuration>