C#のWindowsサービスがあります。そのサービスコードでは、Main()を定義し、さまざまな引数をキャプチャします。引数が「install」の場合、コードを呼び出してサービスをインストールします。argがインストールされているとき、私はサービスを実行しておらず、インストールしているだけなので、これはその時点ではコンソールアプリにすぎないように思われることに注意してください。
vs.net 2012でコードをデバッグすると、すべてのConsole.WriteLine()出力がデバッグウィンドウに表示されます。これは、VS.NETがSTDOUTをデバッグウィンドウにマップするためだと思います。
しかし、コマンドプロンプトを開いてコマンドラインを実行するmyservice.exe install
と、コンソールウィンドウに出力が表示されません。実行するmyservice.exe install > out.txt
と、out.txtにすべての出力が表示されます。何が起こったのでしょうか。また、そのMain()コードを取得して、実際に出力をコンソールウィンドウに送信するにはどうすればよいですか。