奇怪的Process.Start在NUnit下的行为

时间:2011-12-19 07:48:33

标签: .net nunit process.start plink

我在plink.exe上使用Process.Start在Linux机器上运行远程调用。这很有效,除非在NUnit的上下文中运行(我已经尝试过TestDriven.NET和ReSharper的单元测试运行器)。

在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 个答案:

答案 0 :(得分:1)

可能你忘记了:

process.WaitForExit();