在TFS Build vNext中,可以使用构建任务。其中许多都将searchPattern参数作为输入,用于指定文件的通配符路径。例如,VsTest任务为其测试程序集参数指定以下内容:
测试二进制文件以运行测试。可以使用通配符。例如, 对于名称为test的所有dll, * test * .dll; - : \ _ obj **,同时排除任何名为obj的子目录中的文件。
因此,指定了要包含的路径的通配符,并指定了要排除的路径的通配符。
如何指定多个通配符路径包含。
说我想要 foo .dll,还要 test .dll,如何指定?
我试过
**\*foo*.dll;**\*test*.dll
但底层的powershell函数Find-Files抛出并出错:
路径不是合法形式
可以这样做吗?
答案 0 :(得分:2)
以下内容在我的机器上运行良好
**\$(BuildConfiguration)\*test*.dll;**\$(BuildConfiguration)\*foo*.dll;-:**\obj\**
答案 1 :(得分:2)
是的,这可以做到。根据您正在使用的构建任务,您可能需要将$(build.sourcesDirectory)
(或其他一些占位符)添加到第一个之外的包含表达式中。
即。以下应该有效:
**\*foo*.dll;$(build.sourcesDirectory)**\*test*.dll
有关通配符表达式中允许的详细信息,请参阅this blog post。