Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/294.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.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# 是否存在用于工作区映射的生成变量_C#_Tfs_Azure Devops - Fatal编程技术网

C# 是否存在用于工作区映射的生成变量

C# 是否存在用于工作区映射的生成变量,c#,tfs,azure-devops,C#,Tfs,Azure Devops,在DevOps构建模板中,我使用构建变量$(build.SourceBranch)在源代码管理中检索解决方案的源路径。但是,如果如图所示指定了多个工作空间映射,则变量为空。是否存在一个生成变量,该变量可以在指定多个工作区映射时返回第一个工作区映射,也可以返回正在生成的解决方案的源路径 Build.Repository.Tfvc.Workspace 有关预定义变量的更完整列表,请参见 如果您的存储库是Team Foundation版本控制,则定义“P>”。生成代理使用的TFVC工作区的名称 例如,

在DevOps构建模板中,我使用构建变量$(build.SourceBranch)在源代码管理中检索解决方案的源路径。但是,如果如图所示指定了多个工作空间映射,则变量为空。是否存在一个生成变量,该变量可以在指定多个工作区映射时返回第一个工作区映射,也可以返回正在生成的解决方案的源路径

Build.Repository.Tfvc.Workspace 有关预定义变量的更完整列表,请参见

如果您的存储库是Team Foundation版本控制,则定义“P>”。生成代理使用的TFVC工作区的名称

例如,如果Agent.BuildDirectory是c:\Agent\u work\12,Agent.Id是8,那么工作区名称可以是:ws\u 12\u 8

此变量是代理作用域,可以用作脚本中的环境变量和生成任务中的参数,但不能用作生成编号的一部分或版本控制标记

然而 我不确定这个,工作区的实际名称,是你要找的。您提到需要指向
.sln
的路径,因此我假设您正在尝试获取该路径,以便可以构建它。对吗

在这种情况下,您应该将本地(read:agent)工作区映射定义为变量,以便告诉生成任务在该路径筛选器下生成
.sln
文件。当然,变量的使用是可选的,但我更喜欢使用变量而不是到处“硬编码”字符串值。让我们面对现实吧。打字很难

在变量中存储映射路径

在映射中使用var

在var映射下构建.sln

不,我们没有此类变量来获取构建代理中的工作区映射。只需使用
Build.SourceBranch
它将返回生成排队等待的分支

但是,当存在多个映射时,将源分支设置为映射的最常见父级。如果没有公共父级,则可能为空。这是预期的行为

以下是一些应作为您需求解决方案的选项:

  • 定义一个变量“映射”,并在构建中使用它 剧本
  • 编写脚本以查询生成定义对象并读取 存储在该对象中的映射

我对此表示怀疑,因为工作区应该与用户相关?我不相信在服务器上会显示额外的工作区…谢谢@austinfrench,但是您知道当前构建解决方案的源路径是否存在变量吗?我也在关注此问题以获取更多信息!在On Prem中有,我假设DevOps也是如此,但我还没有完全了解它,因为我从Azure休息了几年,事情发生了巨大的变化!