dotnet命令失败后如何停止powershell脚本?

dotnet命令失败后如何停止powershell脚本?,powershell,.net-core,Powershell,.net Core,当从powershell脚本执行时,我看到dotnet命令中存在不可靠的行为 在powershell脚本中执行: dotnet build "$slnPath" 忽略任何编译错误并继续执行脚本。我必须检查$lastexitcode以查看是否有任何错误 另一方面,命令: dotnet test "$slnPath" 如果有任何失败的单元测试,则立即终止powershell脚本的执行 这是正常的行为吗?是否需要根据dotnet命令的参数编写不同的错误处理?dotnet test命令启动为项目指定

当从powershell脚本执行时,我看到dotnet命令中存在不可靠的行为

在powershell脚本中执行:

dotnet build "$slnPath"
忽略任何编译错误并继续执行脚本。我必须检查$lastexitcode以查看是否有任何错误

另一方面,命令:

dotnet test "$slnPath"
如果有任何失败的单元测试,则立即终止powershell脚本的执行

这是正常的行为吗?是否需要根据dotnet命令的参数编写不同的错误处理?

dotnet test命令启动为项目指定的测试运行程序控制台应用程序。测试运行程序执行为单元测试框架定义的测试,例如MSTest、NUnit或xUnit,并报告每个测试的成功或失败。如果所有测试都成功,则测试运行程序返回0作为退出代码;否则,如果任何测试失败,它将返回1。 但是dotnet构建需要project.assets.json文件,该文件列出了应用程序的依赖项。该文件是在执行dotnet还原时创建的。如果没有资产文件,工具将无法解析引用程序集,这将导致错误。
您可以阅读每个命令的作用,并且可以找到一些-键来控制它们在此地址

如何使用powershell脚本中的throw 1?我可以做到,是的。但为什么我必须为dotnet构建而不是dotnet测试这样做呢?那么dotnet恢复、dotnet发布等呢?我觉得奇怪的是,该命令根据参数以不同的方式处理错误