0

プロジェクトへのログインに EnterpriseLibrary 5.0 dll を使用したいと考えています。このために、これらのdllを参照に追加しました:

Microsoft.Practices.EnterpriseLibrary.Common
Microsoft.Practices.EnterpriseLibrary.Data
Microsoft.Practices.EnterpriseLibrary.Logging
Microsoft.Practices.EnterpriseLibrary.Logging.Database

そして、私はこれを書きます:

using Microsoft.Practices.EnterpriseLibrary.Data; 
using Microsoft.Practices.EnterpriseLibrary.Common.Configuration; 
using Microsoft.Practices.EnterpriseLibrary.Logging;

そして、私は書きました:

LogEntry logEntry = new LogEntry();
logEntry.Message = "Message";
Logger.Write(logEntry);

しかし、コードを実行すると、最後の行で次の例外が発生します。

タイプ LogWriter、キー "" のインスタンスを取得しようとしているときにアクティベーション エラーが発生しました

この InnerException がある:

依存関係の解決に失敗しました。タイプ = \"Microsoft.Practices.EnterpriseLibrary.Logging.LogWriter\"、名前 = \"(none)\".\r\n例外が発生しました: コンストラクター Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners を呼び出しています.FlatFileTraceListener(System.String fileName, System.String header, System.String footer, Microsoft.Practices.EnterpriseLibrary.Logging.Formatters.ILogFormatter formatter).\r\n例外: IOException - デバイスの準備ができていません。\r\n \r\n-------------------------------------------------- -\r\n例外発生時のコンテナー:\r\n\r\n Microsoft.Practices.EnterpriseLibrary.Logging.LogWriterImpl,LogWriter を解決しています。デフォルト (Microsoft.Practices.EnterpriseLibrary.Logging.LogWriter からマップ、(none))\r\n コンストラクター Microsoft.Practices.EnterpriseLibrary.Logging.LogWriterImpl(Microsoft.Practices.EnterpriseLibrary.Logging.LogWriterStructureHolder structureHolder のパラメーター \"structureHolder\" を解決しています、Microsoft.Practices.EnterpriseLibrary.Logging.Instrumentation.ILoggingInstrumentationProvider instrumentationProvider、Microsoft.Practices.EnterpriseLibrary.Logging.ILoggingUpdateCoordinator updateCoordinator)\r\n Microsoft.Practices.EnterpriseLibrary.Logging.LogWriterStructureHolder、LogWriterStructureHolder を解決しています。デフォルト (Microsoft.Practices.EnterpriseLibrary.Logging.LogWriterStructureHolder からマップ、(none))\r\n コンストラクター Microsoft.Practices.EnterpriseLibrary.Logging.LogWriterStructureHolder(System.Collections.Generic.IEnumerable 1[[Microsoft.Practices.EnterpriseLibrary.Logging.Filters.ILogFilter, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]] filters, System.Collections.Generic.IEnumerable1[[ System.String、mscorlib、Version=4.0.0.0、Culture=neutral、PublicKeyToken=b77a5c561934e089]] traceSourceNames、System.Collections.Generic.IEnumerable1[[Microsoft.Practices.EnterpriseLibrary.Logging.LogSource, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]] traceSources, Microsoft.Practices.EnterpriseLibrary.Logging.LogSource allEventsTraceSource, Microsoft.Practices.EnterpriseLibrary.Logging.LogSource notProcessedTraceSource, Microsoft.Practices.EnterpriseLibrary.Logging.LogSource errorsTraceSource, System.String defaultCategory, System.Boolean tracingEnabled, System.Boolean logWarningsWhenNoCategoriesMatch, System.Boolean revertImpersonation)\r\n Resolving Microsoft.Practices.EnterpriseLibrary.Logging.LogSource,Trace\r\n
Resolving parameter \"traceListeners\" of constructor Microsoft.Practices.EnterpriseLibrary.Logging.LogSource(System.String name, System.Collections.Generic.IEnumerable
1[[System.Diagnostics.TraceListener, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] traceListeners, System.Diagnostics.SourceLevels レベル, System.Boolean autoFlush, Microsoft.Practices.EnterpriseLibrary.Logging.Instrumentation. ILoggingInstrumentationProvider instrumentationProvider)\r\n Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.ReconfigurableTraceListenerWrapper,Flat FileTrace Listener を解決しています (System.Diagnostics.TraceListener、Flat FileTrace Listener からマップされています)\r\n コンストラクタ Microsoft のパラメータ \"wrappedTraceListener\" を解決しています.Practices.EnterpriseLibrary.Logging.TraceListeners.ReconfigurableTraceListenerWrapper(System.Diagnostics.TraceListener wrapTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging.ILoggingUpdateCoordinator コーディネーター)\r\n Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.FlatFileTraceListener,FlatFileTraceListener の実装を解決しています (System.Diagnostics.TraceListener、Flat FileTrace リスナーの実装からマップされています)\r\n コンストラクター Microsoft.Practices.EnterpriseLibrary.Logging を呼び出しています。 TraceListeners.FlatFileTraceListener(System.String ファイル名、System.String ヘッダー、System.String フッター、Microsoft.Practices.EnterpriseLibrary.Logging.Formatters.ILogFormatter フォーマッター)EnterpriseLibrary.Logging.TraceListeners.FlatFileTraceListener(System.String ファイル名、System.String ヘッダー、System.String フッター、Microsoft.Practices.EnterpriseLibrary.Logging.Formatters.ILogFormatter フォーマッター)EnterpriseLibrary.Logging.TraceListeners.FlatFileTraceListener(System.String ファイル名、System.String ヘッダー、System.String フッター、Microsoft.Practices.EnterpriseLibrary.Logging.Formatters.ILogFormatter フォーマッター)

そして、この InnerException があります:

デバイスの準備ができていません。

このエラーを解決するにはどうすればよいですか?

4

2 に答える 2

1

このエラーは app.config ファイルからのものでした。エラーのある同じ app.config ファイルを使用します。EntLib アプリケーションで作成する app.config を使用すると、エラーが解決しました。

于 2013-05-18T08:18:01.567 に答える
1

次の記事を参照してください: Microsoft Enterprise Library 5 を構成してログに使用する方法

于 2013-04-24T13:27:07.393 に答える