
我正在尝试运行入门教程 here,我收到此错误:
无法编译映射文档:(Xmldocument)
运行CreateSessionFactory时发生错误:
private static ISessionFactory CreateSessionFactory() { return Fluently.Configure() .Database(sqliteConfiguration.Standard .Usingfile(DBfile)) .MapPings(m => m.FluentMapPings.AddFromAssemblyOf<Program>()) .ExposeConfiguration(BuildSchema) .BuildSessionFactory(); } 有没有人得到过这个?完全例外:
NHibernate.MapPingException was unhandled by user code Message=Could not compile the mapPing document: (Xmldocument) Source=NHibernate StackTrace: at NHibernate.Cfg.Configuration.LogAndThrow(Exception exception) in d:\CSharp\NH\NH\nhibernate\src\NHibernate\Cfg\Configuration.cs:line 342 at NHibernate.Cfg.Configuration.AddDeserializedMapPing(HbmMapPing mapPingdocument,String documentfilename) in d:\CSharp\NH\NH\nhibernate\src\NHibernate\Cfg\Configuration.cs:line 530 at NHibernate.Cfg.Configuration.AddValIDateddocument(namedXmldocument doc) in d:\CSharp\NH\NH\nhibernate\src\NHibernate\Cfg\Configuration.cs:line 499 at NHibernate.Cfg.Configuration.ProcessMapPingsQueue() in d:\CSharp\NH\NH\nhibernate\src\NHibernate\Cfg\Configuration.cs:line 1832 at NHibernate.Cfg.Configuration.AdddocumentThroughQueue(namedXmldocument document) in d:\CSharp\NH\NH\nhibernate\src\NHibernate\Cfg\Configuration.cs:line 1823 at NHibernate.Cfg.Configuration.AddXmlReader(XmlReader hbmReader,String name) in d:\CSharp\NH\NH\nhibernate\src\NHibernate\Cfg\Configuration.cs:line 1816 at NHibernate.Cfg.Configuration.AddinputStream(Stream xmlinputStream,String name) in d:\CSharp\NH\NH\nhibernate\src\NHibernate\Cfg\Configuration.cs:line 632 at NHibernate.Cfg.Configuration.Adddocument(Xmldocument doc,String name) in d:\CSharp\NH\NH\nhibernate\src\NHibernate\Cfg\Configuration.cs:line 483 at NHibernate.Cfg.Configuration.Adddocument(Xmldocument doc) in d:\CSharp\NH\NH\nhibernate\src\NHibernate\Cfg\Configuration.cs:line 455 at FluentNHibernate.PersistenceModel.Configure(Configuration cfg) at FluentNHibernate.Cfg.MapPingConfiguration.Apply(Configuration cfg) at FluentNHibernate.Cfg.FluentConfiguration.BuildConfiguration() InnerException: NHibernate.MapPingException Message=persistent class FNHTest.EntitIEs.Employee,FluentNHibernate,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null not found Source=NHibernate StackTrace: at NHibernate.Cfg.XmlHbmBinding.Binder.ClassForFullnameChecked(String fullname,String errorMessage) in d:\CSharp\NH\NH\nhibernate\src\NHibernate\Cfg\XmlHbmBinding\Binder.cs:line 103 at NHibernate.Cfg.XmlHbmBinding.Binder.ClassFornameChecked(String name,MapPings mapPings,String errorMessage) in d:\CSharp\NH\NH\nhibernate\src\NHibernate\Cfg\XmlHbmBinding\Binder.cs:line 117 at NHibernate.Cfg.XmlHbmBinding.ClassBinder.BindClass(IEntityMapPing classMapPing,PersistentClass model,IDictionary`2 inheritedMetas) in d:\CSharp\NH\NH\nhibernate\src\NHibernate\Cfg\XmlHbmBinding\ClassBinder.cs:line 35 at NHibernate.Cfg.XmlHbmBinding.RootClassBinder.Bind(HbmClass classSchema,IDictionary`2 inheritedMetas) in d:\CSharp\NH\NH\nhibernate\src\NHibernate\Cfg\XmlHbmBinding\RootClassBinder.cs:line 19 at NHibernate.Cfg.XmlHbmBinding.MapPingRootBinder.AddRootClasses(HbmClass rootClass,IDictionary`2 inheritedMetas) in d:\CSharp\NH\NH\nhibernate\src\NHibernate\Cfg\XmlHbmBinding\MapPingRootBinder.cs:line 83 at NHibernate.Cfg.XmlHbmBinding.MapPingRootBinder.AddEntitIEsMapPings(HbmMapPing mapPingSchema,IDictionary`2 inheritedMetas) in d:\CSharp\NH\NH\nhibernate\src\NHibernate\Cfg\XmlHbmBinding\MapPingRootBinder.cs:line 42 at NHibernate.Cfg.XmlHbmBinding.MapPingRootBinder.Bind(HbmMapPing mapPingSchema) in d:\CSharp\NH\NH\nhibernate\src\NHibernate\Cfg\XmlHbmBinding\MapPingRootBinder.cs:line 29 at NHibernate.Cfg.Configuration.AddDeserializedMapPing(HbmMapPing mapPingdocument,String documentfilename) in d:\CSharp\NH\NH\nhibernate\src\NHibernate\Cfg\Configuration.cs:line 522 InnerException: System.IO.fileLoadException Message=Could not load file or assembly 'FluentNHibernate,PublicKeyToken=null' or one of its dependencIEs. The located assembly's manifest deFinition does not match the assembly reference. (Exception from HRESulT: 0x80131040) Source=mscorlib filename=FluentNHibernate,PublicKeyToken=null FusionLog==== Pre-bind state information === LOG: User = dev-dsk02\ademar.gomes LOG: displayname = FluentNHibernate,PublicKeyToken=null (Fully-specifIEd) LOG: Appbase = file:///C:/code/GeneralTests/FluentNHibernate/FluentNHibernate/bin/DeBUG/ LOG: Initial PrivatePath = NulL Calling assembly : NHibernate,Version=3.1.0.4000,PublicKeyToken=aa95f207798dfdb4. === LOG: This bind starts in default load context. LOG: Using application configuration file: C:\code\GeneralTests\FluentNHibernate\FluentNHibernate\bin\DeBUG\FluentNHibernate.vshost.exe.Config LOG: Using machine configuration file from C:\windows\Microsoft.NET\Framework\v2.0.50727\config\machine.config. LOG: Policy not being applIEd to reference at this time (private,custom,partial,or location-based assembly bind). LOG: Attempting download of new URL file:///C:/code/GeneralTests/FluentNHibernate/FluentNHibernate/bin/DeBUG/FluentNHibernate.DLL. WRN: Comparing the assembly name resulted in the mismatch: PUBliC KEY TOKEN ERR: Failed to complete setup of assembly (hr = 0x80131040). Probing terminated. StackTrace: at System.RuntimeTypeHandle._GetTypeByname(String name,Boolean throwOnError,Boolean ignoreCase,Boolean reflectionOnly,StackCrawlMark& stackMark,Boolean loadTypeFromPartialname) at System.RuntimeTypeHandle.GetTypeByname(String name,StackCrawlMark& stackMark) at System.RuntimeType.PrivateGetType(String typename,StackCrawlMark& stackMark) at System.Type.GetType(String typename) at NHibernate.Util.ReflectHelper.TypeFromAssembly(AssemblyQualifIEdTypename name,Boolean throwOnError) in d:\CSharp\NH\NH\nhibernate\src\NHibernate\Util\ReflectHelper.cs:line 291 at NHibernate.Util.ReflectHelper.ClassForname(String name) in d:\CSharp\NH\NH\nhibernate\src\NHibernate\Util\ReflectHelper.cs:line 181 at NHibernate.Cfg.XmlHbmBinding.Binder.ClassForFullnameChecked(String fullname,String errorMessage) in d:\CSharp\NH\NH\nhibernate\src\NHibernate\Cfg\XmlHbmBinding\Binder.cs:line 99 InnerException:解决方法 问题是您在自己的FluentNHibernate版本中创建了Employee类,但要执行您使用预编译的二进制文件. NHibernate尝试加载位于一个FNH版本中的类,但加载另一个版本的FNH并抱怨Assemblyversion不匹配.将实体移动到名称与FluentNHibernate不同的项目. 总结
以上是内存溢出为你收集整理的c#-4.0 – 流畅的nHibernate错误 – 无法编译映射文档:(XmlDocument)全部内容,希望文章能够帮你解决c#-4.0 – 流畅的nHibernate错误 – 无法编译映射文档:(XmlDocument)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)