2011-12-19 51 views
0

我在plink.exe上使用Process.Start在Linux機器上運行遠程調用。這很好,除非在NUnit的環境中運行(我已經嘗試了TestDriven.NET和ReSharper的單元測試運行器)。奇怪的Process.Start在NUnit下的行爲

在NUnit測試中,該過程似乎立即關閉,而實際上並沒有做任何事情,比如某些事情迫使它關閉。

下面是代碼,請注意,在控制檯應用程序的上下文中,它可以很好地工作。

var processStartInfo = new ProcessStartInfo();   
processStartInfo.FileName = @"D:\Tools\plink\plink.exe"; 
processStartInfo.Arguments = "-ssh #some parameters here#; 
processStartInfo.UseShellExecute = false; 
processStartInfo.RedirectStandardOutput = true; 

var process = new Process(); 

process.StartInfo = processStartInfo; 
process.Start();    
var output = process.StandardOutput.ReadToEnd(); 

回答

1

可能是你忘了:

process.WaitForExit(); 
+0

但如果是需要,我的控制檯應用程序就不會工作爲好,對不對? – 2012-04-02 06:09:25