Hey guys, I'm running into the a problem compiling our hbm files under Mono v2.4 and NHibernate v2.1.0 beta 2. Looking through the code, it looks like the problem is how the XmlSerializer interprets AbstractDecoratable and the culprits are the properties MappedMetaData and InheritableMetaData. The exception I'm getting is below.
Thanks, Bryan NHibernate.MappingException: Could not compile the mapping document: **SNIP**.Domain.hbm.xml ---> System.InvalidOperationException: There was an error reflecting type 'NHibernate.Cfg.MappingSchema.HbmMapping'. ---> System.InvalidOperationException: To be XML serializable, types which inherit from ICollection must have an implementation of Add(System.Collections.Generic.KeyValuePair`2[[System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[NHibernate.Mapping.MetaAttribute, NHibernate, Version=2.1.0.2002, Culture=neutral, PublicKeyToken=aa95f207798dfdb4]]) at all levels of their inheritance hierarchy. System.Collections.Generic.IDictionary`2[[System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[NHibernate.Mapping.MetaAttribute, NHibernate, Version=2.1.0.2002, Culture=neutral, PublicKeyToken=aa95f207798dfdb4]] does not implement Add(System.Collections.Generic.KeyValuePair`2[[System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[NHibernate.Mapping.MetaAttribute, NHibernate, Version=2.1.0.2002, Culture=neutral, PublicKeyToken=aa95f207798dfdb4]]). at System.Xml.Serialization.TypeData.get_ListItemType () [0x00230] in /root/mono2.4/mono-2.4/mcs/class/System.XML/System.Xml.Serialization/TypeData.cs:342 at System.Xml.Serialization.TypeData.get_ListItemTypeData () [0x00016] in /root/mono2.4/mono-2.4/mcs/class/System.XML/System.Xml.Serialization/TypeData.cs:274 at System.Xml.Serialization.TypeData..ctor (System.Type type, System.String elementName, Boolean isPrimitive, System.Xml.Serialization.TypeData mappedType, System.Xml.Schema.XmlSchemaPatternFacet facet) [0x00104] in /root/mono2.4/mono-2.4/mcs/class/System.XML/System.Xml.Serialization/TypeData.cs:94 at System.Xml.Serialization.TypeData..ctor (System.Type type, System.String elementName, Boolean isPrimitive) [0x00000] in /root/mono2.4/mono-2.4/mcs/class/System.XML/System.Xml.XPath/Parser.cs:1 at System.Xml.Serialization.TypeTranslator.GetTypeData (System.Type runtimeType, System.String xmlDataType) [0x00241] in /root/mono2.4/mono-2.4/mcs/class/System.XML/System.Xml.Serialization/TypeTranslator.cs:243 at System.Xml.Serialization.TypeTranslator.GetTypeData (System.Type type) [0x00000] in /root/mono2.4/mono-2.4/mcs/class/System.XML/System.Xml.Serialization/TypeTranslator.cs:163 at System.Xml.Serialization.XmlReflectionImporter.GetReflectionMembers (System.Type type) [0x00244] in /root/mono2.4/mono-2.4/mcs/class/System.XML/System.Xml.Serialization/XmlReflectionImporter.cs:774 at System.Xml.Serialization.XmlReflectionImporter.ImportClassMapping (System.Xml.Serialization.TypeData typeData, System.Xml.Serialization.XmlRootAttribute root, System.String defaultNamespace) [0x0007a] in /root/mono2.4/mono-2.4/mcs/class/System.XML/System.Xml.Serialization/XmlReflectionImporter.cs:343 at System.Xml.Serialization.XmlReflectionImporter.ImportTypeMapping (System.Xml.Serialization.TypeData typeData, System.Xml.Serialization.XmlRootAttribute root, System.String defaultNamespace) [0x0006e] in /root/mono2.4/mono-2.4/mcs/class/System.XML/System.Xml.Serialization/XmlReflectionImporter.cs:217 --- End of inner exception stack trace --- at System.Xml.Serialization.XmlReflectionImporter.ImportTypeMapping (System.Xml.Serialization.TypeData typeData, System.Xml.Serialization.XmlRootAttribute root, System.String defaultNamespace) [0x00179] in /root/mono2.4/mono-2.4/mcs/class/System.XML/System.Xml.Serialization/XmlReflectionImporter.cs:237 at System.Xml.Serialization.XmlReflectionImporter.ImportTypeMapping (System.Type type, System.Xml.Serialization.XmlRootAttribute root, System.String defaultNamespace) [0x0003c] in /root/mono2.4/mono-2.4/mcs/class/System.XML/System.Xml.Serialization/XmlReflectionImporter.cs:192 at System.Xml.Serialization.XmlSerializer..ctor (System.Type type, System.Xml.Serialization.XmlAttributeOverrides overrides, System.Type[] extraTypes, System.Xml.Serialization.XmlRootAttribute root, System.String defaultNamespace) [0x00047] in /root/mono2.4/mono-2.4/mcs/class/System.XML/System.Xml.Serialization/XmlSerializer.cs:226 at System.Xml.Serialization.XmlSerializer..ctor (System.Type type) [0x00000] in /root/mono2.4/mono-2.4/mcs/class/System.XML/System.Xml.XPath/Parser.cs:1 at NHibernate.Cfg.XmlHbmBinding.Binder.Deserialize[HbmMapping] (System.Xml.XmlNode node) [0x00000] at NHibernate.Cfg.XmlHbmBinding.MappingRootBinder.Bind (System.Xml.XmlNode node) [0x00000] at NHibernate.Cfg.Configuration.AddValidatedDocument (NHibernate.Cfg.NamedXmlDocument doc) [0x00000] --- End of inner exception stack trace --- --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "nhusers" group. To post to this group, send email to nhusers@googlegroups.com To unsubscribe from this group, send email to nhusers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/nhusers?hl=en -~----------~----~----~----~------~----~------~--~---