Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何修复控制台应用程序显示中缺少的CR_C#_Powershell_Console - Fatal编程技术网

C# 如何修复控制台应用程序显示中缺少的CR

C# 如何修复控制台应用程序显示中缺少的CR,c#,powershell,console,C#,Powershell,Console,我用C语言编写了一个控制台应用程序,它使用console.Writeline输出文本 Console.WriteLine($"Test Results Failures: {failures.Count}"); Console.WriteLine($" System Errors: {systemErrors.Count}"); 通过Powershell执行时,通过Powershell显示的输出为 Test Results Failures: 14

我用C语言编写了一个控制台应用程序,它使用console.Writeline输出文本

Console.WriteLine($"Test Results Failures: {failures.Count}");
Console.WriteLine($"             System Errors: {systemErrors.Count}");
通过Powershell执行时,通过Powershell显示的输出为

Test Results  Failures: 14                         System Errors: 13
请注意缺少回车符

我该如何解决这个问题

我正在从Powershell命令行调用Powershell脚本:

powershell -noexit "& 'RunAndTest.ps1'"
还有剧本:

$output="`n------------Tests ---------------`n"
Write-Host $output;

$output="-------> Running Postman"
Write-Host $output;

$collection='collection.json';
$environment='local_environment.json';
$output=$(newman run $collection -e $environment --color off --disable-unicode);

Write-Host $output;

$output="-------> Evaluating Results`n"
Write-Host $output;

$output=$(dotnet FunctionalTestXml.dll test.xml);
Write-Host $output;

If ($LastExitCode -eq 0) {
    $output= "Success"
} Else {
    $output = "Failure " + $LastExitCode
}

Write-Host $output;

$output="`n---------------------------------`n"

Write-Host $output;
控制台应用程序通过dotnet命令执行:

$output=$(dotnet FunctionalTestXml.dll test.xml);
谢谢你的时间和帮助。

你可以做的

Console.WriteLine("Test Results Failures: " + failures.Count);
Console.WriteLine("             System Errors: " + systemErrors.Count);

这似乎与是否使用结果有关:

$output=$(dotnet FunctionalTestXml.dll test.xml);
Write-Host $output;
这是有问题的。正在做

dotnet FunctionalTestXml.dll test.xml
正确显示

我不明白为什么CR-LF丢了。这种情况也表现在其他场景中,例如,评估另一个PS脚本的结果

$result = & "RunAndTest.ps1"
#display script output
Write-Host $result

结果CR-LF也丢失了。

这是如何修复丢失的CR/LF问题的?我测试了您的代码,结果正常。你的问题不清楚你还可能做错什么,所以我给了你一个片段,它在功能上与你所拥有的相同,但谁知道呢,也许它对你有用。就像我说的,试着对发生在你身上的事情更加明确和详细,也许展示完整的代码以及你如何从shell调用程序。@Steve不是OP。我同意他的观点(我也不是OP)。在不知道真正的问题是什么的情况下,发布一个功能等效的解决方案,而这个解决方案不能合理地预期会产生影响,不仅没有帮助,而且会造成分心。从交互式PowerShell会话来看,这不应该发生。请编辑您的问题,具体说明您是如何调用PowerShell的,以及有关所涉及的版本、使用的控制台(终端)应用程序的详细信息。