6

「コンソール」タイプのac#プロジェクトがあり、親アプリ内から独自のアプリドメインで起動し、コンソールウィンドウを生成します。ただし、コンソールに書き込まれたテキストは表示されません。Console.ReadKey()ただし、機能します。何が間違っている可能性があるのか​​?

注:親プロセスへのエコーは、親プロセスの組み込みコンソール(win32コンソールではなく、ある種のDirectX GUIウィジェット)Console.OutSystem.Console.Out表示され、「null」ストリームではありません。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Threading;

using ParentApi;

namespace LSTest4
{   
    class Program
    {

        static void Main(string[] args)
        {
            Console.OpenStandardOutput();
            ParentApi.Echo(System.Console.Out.ToString());
            Console.Out.WriteLine("monkeys");
            Console.WriteLine("app start");
            Console.Write("lalala");
            Console.ReadKey();
            ParentApi.Echo("app start");

    }
}

編集:

さらに調査すると:

問題のコードは別のアプリケーションに注入され、注入は敵対的であり、「ParentApi」によって管理されており、注入ターゲットは標準ストリームを再マッピングしているようです。この場合、最善の方法は、トレースを他の方法で処理することです。WCFを使用して、トレース出力を外部プロセスにプッシュする場合があります。

4

1 に答える 1