【发布时间】:2020-02-09 05:03:01
【问题描述】:
我正在尝试在 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 脚本/任务设置变量?如果是这种情况,是否有人对如何执行此操作有任何建议?
【问题讨论】:
-
vstest 将控制台输出重定向到 trx 文件。这会导致语句无法到达代理日志流。代理需要最后一部分来更新变量。
-
@jessehouwing 是否可以强制语句到达代理日志而不被重定向到 TRX 文件?如果没有,还有其他方法可以从 VS 测试任务中设置 ADO 变量吗?
-
这个问题有什么更新吗?你解决了这个问题吗?如果没有,请告诉我有关此问题的最新信息吗?
-
我最终使用非 Azure ADO 方法来解决我的问题,因为日志记录命令不适用于 VSTest 任务。感谢您的帮助。
标签: c# powershell azure-devops