Tôi muốn làm một ứng dụng đơn giản sử dụng stdin. Tôi muốn tạo một danh sách trong một chương trình và in nó trong một chương trình khác. Tôi đã đưa ra dưới đây.Lỗi "StandardIn chưa được chuyển hướng" trong .NET (C#)
Tôi không biết liệu app2 có hoạt động hay không trong app1 Tôi nhận được ngoại lệ "StandardIn chưa được chuyển hướng". trên writeline (bên trong tuyên bố foreach). Làm thế nào để tôi làm những gì tôi có ý định?
LƯU Ý: Tôi đã thử đặt UseShellExecute thành true và false. Cả hai đều gây ra ngoại lệ này.
//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);
}
bạn đang mong đợi để làm p = Process.Start (v); ví dụ..?? cũng đặt p.UseShellExecute = false; – MethodMan