Ejecutando VS2003, nHB 3.0.0.3001, intentando ejecutar una prueba unitaria a través de Gallio 3.2. El código es de la primera sesión de "Summer of nHibernate". Recibo el siguiente error al intentar ejecutar la prueba.nHibernate: no se puede ubicar la persistencia
NHibernate.HibernateException: Unable to locate persister: DataTransfer.Customer
TargetSite: Void OnLoad(NHibernate.Event.LoadEvent, NHibernate.Event.LoadType)
HelpLink: null
at NHibernate.Event.Default.DefaultLoadEventListener.OnLoad(LoadEvent event, LoadType loadType)
at NHibernate.Impl.SessionImpl.FireLoad(LoadEvent event, LoadType loadType)
at NHibernate.Impl.SessionImpl.Get(String entityName, Object id)
at NHibernate.Impl.SessionImpl.Get(Type entityClass, Object id)
at NHibernate.Impl.SessionImpl.Get[T](Object id)
at DataAccessLayer.NhibernateDataProvider.GetCustomerById(Int32 customerId)
Mi conjetura muy inculta es que no se puede ver la clase de Cliente. Pero tanto la prueba unitaria como las capas de acceso a datos tienen una referencia al ensamblaje DataTransfer que contiene la clase Cliente. La clase de Cliente es pública y todas las propiedades son públicas virtuales.
El archivo de configuración nHB está en el directorio y el archivo de asignación del Cliente es un recurso incrustado. Parece fallar en la línea :
return session.Get<Customer>(customerId);
FYI - para el ítem 2, mira las propiedades del archivo XML en el estudio, es el cuadro combinado superior (creo que el valor predeterminado es No copiar pero no tengo Studio abierto). –
Sí, el archivo de asignación se denominó hbn.xml no hbm.xml, gracias por la ayuda. –
También agregaría un 2.5 a su lista, asegúrese de que está cargando el conjunto de asignación al crear su fábrica. –