如何通过Visual Studio测试任务设置Azure DevOps变量,以便以下嵌入式PowerShell脚本可以读取它?

时间:2019-10-11 16:21:09

标签: c# powershell azure-devops

我试图在Visual Studio测试任务期间在发布管道中设置Azure DevOps变量。在Visual Studio C#测试代码中,我想根据测试是否通过来设置ADO Release变量。然后,我将在下面的Release任务(内联Powershell脚本)中读入此变量,以执行单独的任务。

我试图在C#Visual Studio测试代码中使用Console.WriteLine("##vso[task.setvariable variable=<VARIABLE_NAME>;]<VALUE>"),但是它没有设置变量。但是,当我使用内联Powershell脚本通过Write-Host "##vso[task.setvariable variable=<VARIABLE_NAME>;]<VALUE>"设置变量时,它可以正常工作。

是否可以在Visual Studio测试任务中使用C#设置ADO Release变量?还是只能使用Batch / Powershell / Shell脚本/任务设置变量?如果是这样,有人对如何执行此操作有任何建议吗?

1 个答案:

答案 0 :(得分:1)

  

如何通过Visual Studio Test任务设置Azure DevOps变量,以便以下嵌入式PowerShell脚本可以读取它?

的确,就像杰西·霍温(Jessehouwing)所说:

vstest redirects the console output to the trx file.

因此,我们需要使用Logging Command来调用日志记录命令。

要解决此问题,您可以尝试以下方法:

添加两个内联powershell任务,以基于先前任务(包括VS Test任务)的结果来设置ADO Release变量:

enter image description here

然后添加另一个powershell任务,以在成功完成所有先前任务(包括VS Test任务)的结果时基于ADO Release变量。

希望这会有所帮助。