6


3

Windowsフォームアプリケーション内でConsole.WriteLineを使用する

ソースコードがC#の外部DLLがあります。 DLLのドキュメントから、 `Console.WriteLine`を使ってデバッグメッセージをコンソールに書き込むことにしました。

WinFormsアプリケーション内でこのDLLを使用したいのですが。 しかし、私が発見したことは、WinFormsアプリケーションにはコンソールがないので、DLLによって発行されたデバッグメッセージを見ることができないということです。

これらのデバッグメッセージをキャプチャする方法はありますか?おそらく単純なログファイルにも? もちろん、プロセスとしてDLLを使わないので `ProcessInfo.RedirectStandartOutput`を使ってもうまくいきません。

2 Answer


14


あなたがコントロールするTextWriterで Console.SetOutを呼び出してください。 StringWriter)


4


代わりにSystem.Diagnostics名前空間とDebug.WriteLineを使用することをお勧めします。 デバッグは、実行時またはapp / web.configファイルを介して追加できる「リスナー」をサポートします。 例えば:-

Debug.Listeners.Add(新しいConsoleTraceListener())

トレースリスナとしてカスタムデバッグロギングを実装すると、トレースメッセージアプリケーション全体を非常に簡単にキャプチャできます。