我正在尝试从“NHibernate”( NHibernate在行动中 )一书中了解有关NHibernate在行动中的信息,并试图编译和运行第一个示例,这给了我以下例外:
无法编译映射文档: Namespace.FolderName.ClassName.hbm.xml
内在的例外是
{"<hibernate-mapping xmlns='urn:hibernate-mapping-2.2'> was not expected."}这是我的映射文件:
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:hibernate-mapping-2.2"
auto-import="true">
<class name="Namespace.Folder.ClassName,Namespace.Folder" lazy="false">
<id name="id" access="field">
<generator class="native" />
</id>
<property name="name" access="field" column="name"/>
<many-to-one access="field" name="manager" column="manager"
cascade="all"/>
</class>
</hibernate-mapping>当我试图创建如下会话时,就会发生这种情况:
static ISession OpenSession()
{
if (factory == null)
{
Configuration c = new Configuration();
c.AddAssembly(Assembly.GetCallingAssembly());
factory = c.BuildSessionFactory();
}
return factory.OpenSession();
}异常由以下行引发:
c.AddAssembly(Assembly.GetCallingAssembly());下面是整个异常堆栈跟踪:
**
未处理的DataGenerator.HibernateMapper.Individual.hbm.xml Message=Could未编译映射文档: NHibernate.Cfg.Configuration.LoadMappingDocument(XmlReader hbmReader的d:\CSharp\NH\nhibernate\src\NHibernate\Cfg\Configuration.cs:line 340中的NHibernate.MappingException Source=NHibernate StackTrace: at NHibernate.Cfg.Configuration.LoadMappingDocument(XmlReader异常),(字符串名称)在d:\CSharp\NH\nhibernate\src\NHibernate\Cfg\Configuration.cs:line 1783 at NHibernate.Cfg.Configuration.AddXmlReader(XmlReader hbmReader,String name)在d:\CSharp\NH\nhibernate\src\NHibernate\Cfg\Configuration.cs:line 1813 at NHibernate.Cfg.Configuration.AddInputStream(Stream xmlInputStream,String name)在d:\CSharp\NH\nhibernate\src\NHibernate\Cfg\Configuration.cs:line 630的NHibernate.Cfg.Configuration.AddResource(String路径中,汇编( d:\CSharp\NH\nhibernate\src\NHibernate\Cfg\Configuration.cs:line 668 at NHibernate.Cfg.Configuration.AddAssembly(Assembly assembly)在d:\CSharp\NH\nhibernate\src\NHibernate\Cfg\Configuration.cs:line 761 at DataGenerator.Program.OpenSession() in C:\Documents和Settings\user1\Desktop\DataGeneration\DataGenerator\DataGenerator\Program.cs:line 46 at DataGenerator.Program.CreateIndividualAndSaveToDatabase()在C:\Documents和Settings\user1\Desktop\DataGeneration\DataGenerator\DataGenerator\Program.cs:line 29 at DataGenerator.Program.Main()中,C:\Documents和Settings\user1\Desktop\DataGeneration\DataGenerator\DataGenerator\Program.cs:line 16在System.AppDomain._nExecuteAssembly(RuntimeAssembly程序集中,( Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly() at System.Threading.ThreadHelper.ThreadStart_Context(Object state)在System.AppDomain.ExecuteAssembly(String assemblyFile,ignoreSyncCtx,String[] args)在System.Threading.ExecutionContext.Run(ExecutionContext executionContext,ContextCallback回调,Object状态,布尔ignoreSyncCtx)在System.Threading.ExecutionContext.Run(ExecutionContext executionContext,ContextCallback回调,System.Threading.ThreadHelper.ThreadStart() InnerException: System.InvalidOperationException Message=There是XML文档(1,2)中的一个错误。在System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader,String encodingStyle,XmlDeserializationEvents events,at System.Xml.Serialization.XmlSerializer.Deserialize(TextReader textReader) at NHibernate.Cfg.NamedXmlDocument..ctor(String name,XmlDocument document),在d:\CSharp\NH\nhibernate\src\NHibernate\Cfg\NamedXmlDocument.cs:line 27 at NHibernate.Cfg.Configuration.LoadMappingDocument(XmlReader hbmReader,(字符串名称)在d:\CSharp\NH\nhibernate\src\NHibernate\Cfg\Configuration.cs:line 1774 InnerException: System.InvalidOperationException Message=中是没有预料到的。Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderHbmMapping.Read109_hibernatemapping() Source=2p514b3b StackTrace: at InnerException:
**
有人能给我一些关于这里发生了什么的建议吗?
谢谢
发布于 2011-03-23 17:12:50
确保映射文件的构建操作设置为“嵌入式资源”。
编辑:
试一试
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" auto-import="true">注意nhibernate中的n。
https://stackoverflow.com/questions/5408974
复制相似问题