我试图在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脚本/任务设置变量?如果是这样,有人对如何执行此操作有任何建议吗?
答案 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变量:
然后添加另一个powershell任务,以在成功完成所有先前任务(包括VS Test任务)的结果时基于ADO Release变量。
希望这会有所帮助。