8

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

プロジェクトに
Common.Logging.dll v2.0
NHibernate.Logging.CommonLogging.dll v1.2.0.4000への参照を追加

し、Web.config に以下を追加しました。

<add key="nhibernate-logger" value="NHibernate.Logging.CommonLogging.CommonLoggingLoggerFactory, Hibernate.Logging.CommonLogging"/>

私の究極の目標は、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 を使用するために欠けているものはありますか? ウェブで見つけた手順に従ってみましたが、機能せず、解決策が見つかりません:(

NHibernate v3.2.0.4000 を使用しています。

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

4

4 に答える 4

8

Hibernate.Logging.CommonLoggingNHibernate.Logging.CommonLoggingに切り替えます

于 2011-11-25T13:39:35.287 に答える
3

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

乾杯。

于 2012-01-26T04:21:28.680 に答える
2

Windows Server 2008 でソリューションを実行し、NHibernate 3.0+ を使用している場合は、.Net 3.5 がインストールされaspnet_regiisており、.net Framework (または Frameworkx64) 2.0 に対して実行されていることを確認してください。また、Web サイトの場合は、既定のアプリ プールではなく、従来の .net アプリ プールで実行されていることを確認してください。

NHibernate 3.0+ には .net 3.0 以降が必要です。

于 2012-12-14T06:04:59.793 に答える