我有.NET核心控制台应用程序,并尝试从中执行PS命令。以下代码在Windows计算机上正常工作,但在Linux(Ubuntu)计算机上卡住了。
var pipeLine = _runspace.CreatePipeline();
var myCommand = new Command(script, true);
pipeLine.Commands.Add(myCommand);
pipeLine.Input.Close();
Console.WriteLine("Running pipeline...");
pipeLine.InvokeAsync();
while (pipeLine.PipelineStateInfo.State != PipelineState.Completed)
{
Thread.Sleep(100);
Console.WriteLine(pipeLine.PipelineStateInfo.State.ToString());//Status is still 'Running' infinitely on linux machine
}
System.Console.WriteLine("PipeLine finished");
while (!pipeLine.Output.EndOfPipeline)
commandResults.Add(pipeLine.Output.Read());
两台机器都具有相同版本的.NET core。
有什么想法吗?