'NHibernate.LoggerProvider'の型初期化子が例外を投げた

Common.Loggingアセンブリを使用して、デフォルトのnHibernate Log4netロギングを置き換えようとしています。

I added a reference in my project to:
Common.Logging.dll v2.0
NHibernate.Logging.CommonLogging.dll v1.2.0.4000

and then added the following to my Web.config:


私のulitmateの目標は、Log4netのロギングをEnterprise Library 5.0に置き換えることですが、私は一度に一歩ずつそれを取っています。

私は今私のアプリを実行すると、次の例外が表示されます:

The type initializer for 'NHibernate.Cfg.Configuration' threw an exception. =>
The type initializer for 'NHibernate.LoggerProvider' threw an exception. =>
The type initializer for 'NHibernate.LoggerProvider' threw an exception. =>
Unable to instantiate: =>
Value cannot be null.\r\nParameter name: type
 at NHibernate.LoggerProvider.LoggerFor(Type type)
 at NHibernate.Cfg.Configuration..cctor()

nHibernateでCommon.Loggingを使用するために私が紛失しているものはありますか?私はWeb上で見つけた指示に従ってみましたが、うまくいかず、解決策を見つけることができません:(

I'm using NHibernate v3.2.0.4000.

PS。これはこのサイトの私の最初の投稿です。申し訳ありませんが、フォーマットが正しくない場合、私はgladyが建設的な批判を受け入れます:o)

8
それは答えるだけで、彼はそれに印をつけなかった。使い捨ての口座の1つは、ちょうど1つの質問をしました。基本的には、設定文字列はチュートリアルからコピーされ、タイプミスがあります。 "...、Hibernate.Logging。" NHibernate.Logging にする必要があります。
追加された 著者 Andrew Backer,
私はこの質問に答えることを願っています。これは私が抱えているのと全く同じ問題です
追加された 著者 Mario,

4 答え

switch Hibernate.Logging.CommonLogging with NHibernate.Logging.CommonLogging

8
追加された
私たちは同じウェブハウツーをたどり、自分の誤植を自分の設定にコピーしてしまったと思います。
追加された 著者 Andrew Backer,
これは受け入れられた答えでなければなりません。
追加された 著者 Chris Baxter,

NuGetからNHibernate.Loggingパッケージをインストールしてみてください(またはNuGetを使用しない場合はライブラリを参照してください)。私のために働いた。

乾杯。

2
追加された

もしあなたがWindows Server 2008上であなたのソリューションを実行していて、NHibernate 3.0+を使っているなら、.Net 3.5がインストールされ、.netフレームワーク(またはframeworkx64)2.0のために aspnet_regiis が実行されていることを確認してください。また、Webサイトの場合は、デフォルトのアプリケーションプールではなく、従来の.netアプリケーションプールで実行されていることを確認してください。

NHibernate 3.0以上が必要です.net 3.0以上。

2
追加された

短いバージョン

Check if your project's Assembly Name matches the value in the nhibernate-logger key in your web.config

ロングバージョン

これは古い質問ですが、私は同じエラーがあったときにそれを見つけました。私の場合は、 NLogFactory のあるプロジェクトの名前を変更し、それを反映するように web.config を変更したがプロジェクトのアセンブリ名を変更するのを忘れたために問題が発生しました。

つまり、プロジェクトの名前を CDP.Core から ARR.Code に変更し、変更するには web.config


に:


しかし、プロジェクトプロパティ、 "アプリケーション"タブに移動し、 "アセンブリ名"を新しい名前に変更するのを忘れてしまった。

0
追加された