0

Ich habe eine lokale Website, die ich durch Visual Studio 2008 interne Entwicklung Web-Server laufen (über die Schaltfläche run/compile).Weird MethodNotFound Ausnahme beim Umbenennen einer Eigenschaft - bezogen auf asp.net/web forms/fluentnhibernate und Visual Studio

Ich habe eine externe Bibliothek, die auf einer Seite dieser Website referenziert wird und sich im Ordner "bin" der Website befindet.

Ich habe vor kurzem den Eigenschaftsnamen einer Klasse in dieser Bibliothek geändert (umbenennen von "ValidFrom" nach "VisibleFrom"), ihre DLL neu kompiliert und die ursprüngliche DLL im bin-Ordner überschrieben.

Diese Klasse ist mit FluentNHibernate zugeordnet, ich habe auch die Zuordnungen geändert und die Bibliothek neu kompiliert/neu implementiert.

Wenn ich versuche, die Seite und navigieren Sie zu der Seite ausgeführt werden, wo die Bibliothek verwendet wird, erhalte ich eine MethodNotFound Ausnahme für die Methode get_ValidFrom, bezogen auf Anruf FluentNHibernate Konfiguration. Dies sollte get_VisibleFrom jetzt sein!

Jetzt habe ich meinen NHibernate SessionProvider neu konfiguriert, so dass er bei jedem Aufruf eine neue Konfiguration für NHibernate generiert und diese nicht wie zuvor aus der Http Session-Entität abruft, weil ich dachte, dass das Problem dort liegen könnte.

Ich bekomme immer noch die Ausnahme. Ich habe dann den Inhalt des temporären ASP.NET-Ordners gelöscht ... aber ich erhalte immer noch den Fehler.

Wo wird das generierte Schema für NHibernate gespeichert, wenn FluentNHibernate verwendet wird?

Wer weiß, wo sonst könnte das irgendwie im Cache gespeichert werden?

Dank

Antwort

0

FNH-Cache nicht das Schema, wird es erzeugt on-the-fly, wenn Sie einen Anruf zu Fluently.Configure() und das Schema machen wird direkt in eine NHibernate Configuration Objekt übergeben, die eine ISessionFactory bauen verwendet wird.

Versuchen Sie, alle kompilierten Objekte/Bibliotheken/ausführbare Dateien zu löschen, entfernen Sie den Verweis auf Ihre Bibliothek aus allen Projekten, die sie verwenden, fügen Sie sie wieder hinzu und kompilieren Sie dann alles neu. Überprüfen Sie auch Ihren gesamten Code auf "magische Zeichenfolgen", die auf diese Eigenschaft verweisen oder bewirken, dass sie mit dem alten Namen referenziert wird.

Wenn das nicht funktioniert, kann es hilfreich sein, einen Stack-Trace zu sehen, um eine Vorstellung davon zu bekommen, was von wo aus aufgerufen wird.