Der Typinitialisierer für 'NHibernate.LoggerProvider' hat eine Ausnahme ausgelöst

8

Ich versuche, die Common.Logging-Assembly zu verwenden, um die Standardprotokollierung von nHibernate Log4net zu ersetzen.

Ich habe eine Referenz in meinem Projekt hinzugefügt:
Common.Logging.dll v2.0
NHibernate.Logging.CommonLogging.dll v1.2.0.4000

und fügte dann zu meiner Web.config Folgendes hinzu:

%Vor%

Mein Ziel ist es, die Log4net-Protokollierung durch die Enterprise Library 5.0 zu ersetzen, aber ich mache gerade einen Schritt nach dem anderen.

Wenn ich meine App jetzt starte, erhalte ich die folgende Ausnahme:

%Vor%

Gibt es etwas, das ich vermisse, um Common.Logging mit nHibernate zu verwenden? Ich habe versucht, den Anweisungen zu folgen, die ich im Internet gefunden habe, aber es funktioniert nicht und ich kann keine Lösung finden: (

Ich verwende NHibernate v3.2.0.4000.

PS. Dies ist mein allererster Beitrag auf dieser Seite. Es tut mir so leid, wenn die Formatierung nicht stimmt, ich nehme gerne konstruktive Kritik an: o)

    
user887732 24.11.2011, 18:09
quelle

4 Antworten

8

Wechseln Sie Hibernate.Logging.CommonLogging mit N Hibernate.Logging.CommonLogging

    
Firo 25.11.2011 13:39
quelle
2

Versuchen Sie, das NHibernate.Logging-Paket von NuGet zu installieren (oder referenzieren Sie die Bibliothek, wenn Sie NuGet nicht verwenden). Arbeitete für mich.

Prost.

    
Tim 26.01.2012 04:21
quelle
2

Wenn Sie Ihre Lösung unter Windows Server 2008 ausführen und NHibernate 3.0+ verwenden, stellen Sie sicher, dass .Net 3.5 installiert ist und aspnet_regiis für .net framework (oder frameworkx64) 2.0 ausgeführt wurde. Wenn es sich um eine Website handelt, stellen Sie sicher, dass sie im klassischen .net-App-Pool und nicht im Standard-App-Pool ausgeführt wird.

NHibernate 3.0+ benötigt .net 3.0 und höher.

    
Anu 14.12.2012 06:04
quelle
0

Kurzversion

Überprüfen Sie, ob der Assemblyname Ihres Projekts mit dem Wert in nhibernate-logger in web.config

übereinstimmt

Lange Version

Das ist eine alte Frage, aber ich bin darauf gestoßen, als ich den gleichen Fehler hatte. In meinem Fall wurde das Problem verursacht, weil ich das Projekt umbenannt habe, in dem NLogFactory gefunden wurde, und die web.config geändert habe, um das widerzuspiegeln, aber vergessen habe, den Assemblynamen des Projekts zu ändern.

Das heißt, ich habe mein Projekt von CDP.Core in ARR.Code umbenannt, bin in meine web.config gewechselt, um

zu ändern %Vor%

An:

%Vor%

Aber vergessen Sie, in die Projekteigenschaften zu gehen, Registerkarte "Anwendung" und ändern Sie "Assemblyname" in den neuen Namen.

    
Breno Gazzola 11.08.2015 17:56
quelle

Tags und Links