Erreur "StandardIn n'a pas été redirigée" dans .NET (C #)

Je veux faire une application simple à l'aide de stdin. Je veux créer une liste dans un programme et de l'imprimer dans un autre. Je suis venu avec la ci-dessous.

Je n'ai aucune idée si app2 fonctionne cependant en app1-je obtenir de l'exception "StandardIn n'a pas été redirigé." sur writeline (à l'intérieur de l'instruction foreach). Comment dois-je faire ce que je veux?

NOTE: j'ai essayé de réglage UseShellExecute à la fois vrai et faux. À la fois la cause de cette exception.

        //app1
        {
            var p = new Process();
            p.StartInfo.RedirectStandardInput = true;
            p.StartInfo.FileName = @"path\bin\Debug\print_out_test.exe";
            foreach(var v in lsStatic){
                p.StandardInput.WriteLine(v);
            }
            p.StandardInput.Close();
        }

    //app 2
    static void Main(string[] args)
    {
        var r = new StreamReader(Console.OpenStandardInput());
        var sz = r.ReadToEnd();
        Console.WriteLine(sz);
    }

source d'informationauteur