TFS Build,当任务使用searchPattern(Find-Files)

时间:2015-10-01 03:23:08

标签: tfsbuild

在TFS Build vNext中,可以使用构建任务。其中许多都将searchPattern参数作为输入,用于指定文件的通配符路径。例如,VsTest任务为其测试程序集参数指定以下内容:

  

测试二进制文件以运行测试。可以使用通配符。例如,   对于名称为test的所有dll, * test * .dll; - : \ _ obj **,同时排除任何名为obj的子目录中的文件。

因此,指定了要包含的路径的通配符,并指定了要排除的路径的通配符。

如何指定多个通配符路径包含

说我想要 foo .dll,还要 test .dll,如何指定?

我试过

**\*foo*.dll;**\*test*.dll

但底层的powershell函数Find-Files抛出并出错:

  

路径不是合法形式

可以这样做吗?

2 个答案:

答案 0 :(得分:2)

以下内容在我的机器上运行良好

**\$(BuildConfiguration)\*test*.dll;**\$(BuildConfiguration)\*foo*.dll;-:**\obj\**

答案 1 :(得分:2)

是的,这可以做到。根据您正在使用的构建任务,您可能需要将$(build.sourcesDirectory)(或其他一些占位符)添加到第一个之外的包含表达式中。

即。以下应该有效:

**\*foo*.dll;$(build.sourcesDirectory)**\*test*.dll

有关通配符表达式中允许的详细信息,请参阅this blog post