Frage

Ich habe in diesem Beitrag gelesen, dass die gesamte Proxyfaktorie -Abhängigkeit unter Verwendung einer Schnittstelle darin entfernt wurde Post. Sie müssen also angeben, welche Implementierung in der Datei hibernate.cfg.xml verwendet werden soll. Ich habe diese Konfiguration:

<?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>

Ich habe einen Überweis auf die hinzugefügt NHibernate.ByteCode.Castle.dll. Wenn ich den Test mit Mbunit ausführe, erhalte ich den Fehler, den mein Bereitstellungsordner entweder enthalten sollte NHibernate.ByteCode.Castle.dll oder NHibernate.ByteCode.LinFu.dll. Ich denke, das ist die richtige Konfiguration und es sollte funktionieren. Aber es funktioniert nicht. Ich habe viel Zeit dahinter verbracht.

PS: Als ich NhiberNate abgeladen habe, wurde das Projekt nhiberNate.ByteCode.castle nicht erstellt. Ich habe das Projekt zur Lösung hinzugefügt und es gebaut. Dann bezog ich mich auf die Baugruppe.

War es hilfreich?

Lösung

Ich hatte die gleiche Situation vor nicht allzu langer Zeit.

Wenn Sie sagen, dass Sie eine Referenz hinzugefügt haben, war es dem eigentlichen Projekt- oder Testprojekt? Es sollte in beiden sein. Stellen Sie außerdem sicher, dass "Lokalkopie" in den Eigenschaften (F4) der Referenz auf True eingestellt ist.

Ein weiterer Ansatz, den ich überprüft habe, dass die DLL im Verzeichnis, aus dem die Anwendung ausgeführt wird, vor der Konfiguration die folgende Aufrufe erfolgt.

Console.WriteLine(Directory.GetCurrentDirectory());

In meiner Situation erfuhr ich, dass bei der Verwendung von Resharper zur Durchführung von Tests an einem anderen Ort ausgeführt wurde als ich erwartet hatte und die DLL nicht enthielt. Eine saubere Lösung und Wiederaufbau schien das Problem zu beheben.

Ich hoffe, das gibt Ihnen ein paar Dinge zum Überprüfen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top