ПОМИЛКА: Spring.Objects.Factory.ObjectCreationException: Помилка створення об'єкта з назвою "NHibernate SessionFactory", визначеного в "збірки"

Я отримую таку помилку при запуску будь-якого тесту інтеграції NUnit

- Assembly setup complete -
Beginning Processing of Tests -
Test 'PXL.IntegrationTests.EventDaoTests.deleteEvent' failed: Spring.Objects.Factory.ObjectCreationException : Error creating object with name 'NHibernateSessionFactory' defined in 'assembly [PXL.Dao.NHibernate, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null], resource [PXL.Dao.NHibernate.Dao.Dao.xml] line 18' : Initialization of object failed : Association references unmapped class: PXL.Domain.TBEvent
  ----> NHibernate.MappingException : Association references unmapped class: PXL.Domain.TBEvent
at Spring.Objects.Factory.Support.AbstractAutowireCapableObjectFactory.InstantiateObject(String name, RootObjectDefinition definition, Object[] arguments, Boolean allowEagerCaching, Boolean suppressConfigure)
at Spring.Objects.Factory.Support.AbstractObjectFactory.CreateAndCacheSingletonInstance(String objectName, RootObjectDefinition objectDefinition, Object[] arguments)
at Spring.Objects.Factory.Support.AbstractObjectFactory.GetObjectInternal(String name, Type requiredType, Object[] arguments, Boolean suppressConfigure)
at Spring.Objects.Factory.Support.DefaultListableObjectFactory.GetObjectsOfType(Type type, Boolean includePrototypes, Boolean includeFactoryObjects)
at Spring.Objects.Factory.ObjectFactoryUtils.ObjectsOfTypeIncludingAncestors(IListableObjectFactory factory, Type type, Boolean includePrototypes, Boolean includeFactoryObjects)
at Spring.Dao.Support.PersistenceExceptionTranslationInterceptor.DetectPersistenceExceptionTranslators(IListableObjectFactory objectFactory)
at Spring.Dao.Attributes.PersistenceExceptionTranslationPostProcessor.set_ObjectFactory(IObjectFactory value)
at Spring.Objects.Factory.Support.AbstractAutowireCapableObjectFactory.ConfigureObject(String name, RootObjectDefinition definition, IObjectWrapper wrapper)
at Spring.Objects.Factory.Support.AbstractAutowireCapableObjectFactory.InstantiateObject(String name, RootObjectDefinition definition, Object[] arguments, Boolean allowEagerCaching, Boolean suppressConfigure)
at Spring.Objects.Factory.Support.AbstractObjectFactory.CreateAndCacheSingletonInstance(String objectName, RootObjectDefinition objectDefinition, Object[] arguments)
at Spring.Objects.Factory.Support.AbstractObjectFactory.GetObjectInternal(String name, Type requiredType, Object[] arguments, Boolean suppressConfigure)
at Spring.Objects.Factory.Support.DefaultListableObjectFactory.GetObjectsOfType(Type type, Boolean includePrototypes, Boolean includeFactoryObjects)
at Spring.Context.Support.AbstractApplicationContext.RegisterObjectPostProcessors(IConfigurableListableObjectFactory objectFactory)
at Spring.Context.Support.AbstractApplicationContext.Refresh()
at Spring.Testing.NUnit.AbstractSpringContextTests.LoadContextLocations(String[] locations)
at Spring.Testing.NUnit.AbstractDependencyInjectionSpringContextTests.SetUp()
--MappingException
at NHibernate.Cfg.XmlHbmBinding.CollectionBinder.BindCollectionSecondPass(XmlNode node, Collection model, IDictionary`2 persistentClasses, IDictionary`2 inheritedMetas)
at NHibernate.Cfg.XmlHbmBinding.CollectionBinder.<>c__DisplayClassd.b__c(IDictionary`2 persistentClasses)
at NHibernate.Cfg.Configuration.SecondPassCompile()
at Spring.Data.NHibernate.LocalSessionFactoryObject.AfterPropertiesSet()
at Spring.Objects.Factory.Support.AbstractAutowireCapableObjectFactory.InvokeInitMethods(Object target, String name, IConfigurableObjectDefinition definition)
at Spring.Objects.Factory.Support.AbstractAutowireCapableObjectFactory.ConfigureObject(String name, RootObjectDefinition definition, IObjectWrapper wrapper)
at Spring.Objects.Factory.Support.AbstractAutowireCapableObjectFactory.InstantiateObject(String name, RootObjectDefinition definition, Object[] arguments, Boolean allowEagerCaching, Boolean suppressConfigure)

Assembly TearDown

0 passed, 1 failed, 0 skipped, took 4.67 seconds (NUnit 2.5.5).

Рядок коду, на який посилається помилка, - це перший рядок конфігурації NHibernate Dao.

<!-- NHibernate Configuration -->

       PXL.Dao.NHibernate          <!-- provides integation with Spring's declarative transaction management features -->  

Відсутній файл, на який посилається "Посилання асоціації unmapped class: PXL.Domain.TBEvent", існує, і наскільки я можу бачити, що немає нічого не вистачає, файл зіставлення не має в ньому помилок і є файл cs карта і всі інтерфейси існують, і рядок у дао, який посилається на нього, також існує.


     

Я знаю, що це щось просте, цікаво, якщо хтось тут може дати мені деяке розуміння.

2
Примітка: код компілюється без попереджень, це, здається, відбувається під час тестування інтеграції та перегляду будь-якої веб-сторінки на сайті, що для мене означатиме, що існує проблема з файлом зіставлення, але зазвичай файл зіставлення буде мати інший помилка.
додано Автор kamui, джерело

1 Відповіді

Переконайтеся, що параметр Build Action вашого файлу xml зіставлення встановлено на Вбудований ресурс і що розширення .hmb.xml

3
додано
Добре, добре це вирішити. Я думаю, ви можете відповісти на своє питання незалежно від реп, але ви повинні почекати один або два дні після того, як ви розмістите питання, перш ніж ви зможете відповісти.
додано Автор Marijn, джерело
Дякую, так, це було :-) Я вирішив цю проблему вчора, на жаль, переповнення стека, здається, не дозволяє мені відповісти на моє власне питання, оскільки у мене недостатньо високого рейтингу.
додано Автор kamui, джерело
var chat = new Chat();
var chat = new Chat();
642 учасників

Обсуждение вопросов по C# / .NET / .NET Core / .NET Standard / Azure Сообщества-организаторы: — @itkpi — @dncuug