1

新しいスレッド内で Microsoft Enterprise Library Logging を使用しようとすると問題が発生します。スレッドを開始するために使用するコードは次のとおりです。

Thread cleanupThread = new Thread(new ThreadStart(DirectoryCleanup));
cleanupThread.Start();

DirectoryCleanup メソッド内では、次の行でエラーがスローされます。

Logger.Write(ex.Message, "General", 100, 0, 
System.Diagnostics.TraceEventType.Critical);

そして、ここに私が得るエラーがあります:

The type initializer for 'Microsoft.Practices.EnterpriseLibrary.Logging.Logger' 
threw an exception.

内部例外は次のとおりです。

{"Could not load file or assembly 'Microsoft.Practices.EnterpriseLibrary.Common,
Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its
dependencies. The system cannot find the file specified.":"
Microsoft.Practices.EnterpriseLibrary.Common, Version=4.1.0.0, Culture=neutral,
PublicKeyToken=31bf3856ad364e35"}  

ロガーは、プログラムのメイン スレッドで正常に動作します。新しいスレッドにのみ問題があります。検索に多くの時間を費やしましたが、答えが見つからないようです。助けてくれてありがとう!

アップデート:

次のコードを使用してスレッドプールを使用しようとしました:

Task.Factory.StartNew(DirectoryCleanup);

上記と同じエラーが発生しました。

4

0 に答える 0