4

コマンド ラインから IIS Express を実行する場合、Web アプリに Console.Out を書き込むと、コマンド ライン出力に表示されます。これは、設定した場合、LINQ to SQL 変換の問題のトラブルシューティングに非常に便利ですDataContext.Log = Console.Out。ただし、VS 2010 SP1 の Web プロジェクト プロパティで [IIS Express を使用する] をオンにすると、コマンド ラインが表示されません。

IIS Express Console.Out をログ ファイルなどにリダイレクトできますか?

4

2 に答える 2

1

damieng のブログを介して、デバッグ コンソール ウィンドウに直接書き込む方法を見つけました。

class DebugTextWriter : System.IO.TextWriter {
   public override void Write(char[] buffer, int index, int count) {
       System.Diagnostics.Debug.Write(new String(buffer, index, count));
   }

   public override void Write(string value) {
       System.Diagnostics.Debug.Write(value);
   }

   public override Encoding Encoding {
       get { return System.Text.Encoding.Default; }
   }
}

Console.Out の場合と同様に、DataContext にアタッチできます。

#if DEBUG
   db.Log = new DebugTextWriter();
#endif

http://damieng.com/blog/2008/07/30/linq-to-sql-log-to-debug-window-file-memory-or-multiple-writers

于 2011-03-17T13:56:54.293 に答える
0

iisexpress.exe の「イメージ ファイル実行オプション」を設定すると、コンソール出力が表示されます。唯一の問題は、新しい iisexpress.exe が開始されたときにポップアップ コンソール ウィンドウが表示されることです。これは、コンソール トレースを表示する場合にのみ設定できます。

イメージ ファイル実行オプションを設定するには、次の手順を実行します。

  1. http://www.microsoft.com/whdc/devtools/debugging/installx86.mspxから windbg をインストールします。

  2. 次のレジストリ キーをセットアップします (このリンクが役立つ場合がありますhttp://msdn.microsoft.com/en-us/library/a329t4ed(VS.71).aspx )

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\iisexpress.exe]

"Debugger"="c:\\windbg -g -G"

上記のレジストリ キーの名前を変更するか削除することで、イメージ ファイルの実行オプションを無効にすることができます。

于 2011-03-15T20:13:25.567 に答える