Pregunta

He leído en este post que toda la dependencia ProxyFactory fue removido mediante el uso de una interfaz en este después . Así que hay que especificar qué aplicación a utilizar en el archivo hibernate.cfg.xml. Tengo esta configuración:

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
  <session-factory>
    <property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
    <property name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property>
    <property name="connection.connection_string">Data Source=.\SQLEXPRESS;Initial Catalog=MYDB;Integrated Security=true</property>
    <property name="dialect">NHibernate.Dialect.MsSql2005Dialect</property>
    <property name='proxyfactory.factory_class'>NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle</property>
  </session-factory>
</hibernate-configuration>

He añadido un refernce a la NHibernate.ByteCode.Castle.dll. Cuando ejecuto la prueba usando MbUnit, me sale el error de que mi carpeta de implementación debe contener NHibernate.ByteCode.Castle.dll o NHibernate.ByteCode.LinFu.dll. Supongo que esta es la configuración correcta y debería funcionar. Pero no está funcionando. He pasado mucho tiempo detrás de esto.

P.S: Cuando donwloaded NHibernate, el proyecto NHibernate.ByteCode.Castle no se construyó. He añadido el proyecto a la solución y construí. Entonces referencia al montaje.

¿Fue útil?

Solución

Tenía esta misma situación no hace mucho tiempo.

Cuando usted dice que ha añadido una referencia, era al proyecto actual o proyecto de prueba? Debe estar dentro de los dos. Además, asegúrese de "Copia Local" se establece en true en las propiedades (F4) de la referencia.

Otro enfoque que tomé para comprobar que si DLL se encuentra dentro del directorio que la aplicación se está ejecutando desde fue llamando a la siguiente antes de cualquiera de la configuración.

Console.WriteLine(Directory.GetCurrentDirectory());

En mi situación, he aprendido que cuando se utiliza ReSharper para ejecutar pruebas, se ejecuta en un lugar diferente de lo que esperaba y no se contiene el archivo DLL. Hacer una solución limpia y la reconstrucción parecía para corregir el problema.

Espero que esto le da un par de cosas a comprobar.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top