0

ここでの私の目標を説明することから始めましょう。プログラム/デバッグを再起動せずに、構成ファイルへの変更を有効にしようとしています。今、私は2つの方法でこれにアプローチしようとしました。最初の方法は、Assemblyinfo.csファイルの最後に次のコードを追加することでした。

[assembly: log4net.Config.XmlConfigurator(Watch=true)]

これでロガーは意図したとおりに機能しますが、デバッグ中に.configファイルを変更すると、行った変更は使用されません。

私の最初の仮定は、プログラムの実行中は、何らかの理由でapp.configファイルを「監視」できないというものでした。そこで、外部構成ファイルを作成して、そこにLog4Net情報を配置することにしました。これを行うために、すべてのLog4Net情報をapp.configファイルから移動し、作成したファイル「Log4Net.config」に移動しました。次に、Assemblyinfo.cs内のコードを次のように変更しました。

[assembly: log4net.Config.XmlConfigurator(ConfigFile = "Log4Net.config", Watch = true)]

ただし、ロガーは起動時に構成ファイルが見つからないと言っています。だから、これが私が求めていることです。

1)app.configが実際に変更を監視できる場合、何が間違っていますか?プログラムの実行中に変更が認識および実装されないのはなぜですか?

2)外部構成ファイルが必要な場合、作成した新しい構成ファイルがLog4Netで見つからないのはなぜですか?

これはstackoverflowに関する私の最初の質問です。周りを見回しましたが、私の質問に直接対応するものが見つかりませんでした。助けてくれてありがとう!

4

1 に答える 1

1

Visual Studio でアプリケーションをデバッグする場合は YourApplication.vshost.exe.config、出力フォルダー (デバッグ中にアクティブになるフォルダー) 内のファイルを変更する必要があります。

于 2012-06-09T10:57:24.997 に答える