【发布时间】:2017-11-22 20:23:12
【问题描述】:
根据manydifferentSO-questions,应该可以在新的 TFS 构建系统中使用“复制和发布构建工件”任务来排除正在复制/部署的文件。
但是它对我不起作用(它不排除任何东西)。我可能做错了什么:
【问题讨论】:
标签: tfs
根据manydifferentSO-questions,应该可以在新的 TFS 构建系统中使用“复制和发布构建工件”任务来排除正在复制/部署的文件。
但是它对我不起作用(它不排除任何东西)。我可能做错了什么:
【问题讨论】:
标签: tfs
这应该可以(我知道这个问题很老,但我自己需要一个答案)
**\!(System.Windows.Interactivity.resources.dll|*.dll.config|*fluentassertions*)
【讨论】:
这是构建任务“Copy and Publish Build Artifacts”的一个已知问题,bitbonk。
问:这一步没有产生我预期的结果。我该如何解决?
这一步有几个已知问题:
- 某些 minimatch 模式不起作用。
- 它消除了所有匹配路径的最常见根路径。
好吧,这与您的 minimatch 设置无关。它不适用于该构建任务。当然,您也可以使用 Copy Files 任务检查您的 minimatch 来验证这一点。
目前,您可以避免这些问题,改为使用Copy Files step 和Publish Build Artifacts step。
注意:如果在复制文件这一步还是不行,你在使用 minimatch 时要注意文件的架构。肯定有问题。
【讨论】:
该任务根据您输入的内容一行一行地复制文件和“!”仅在复制过程中排除文件,不会删除已复制的文件。因此,使用您在第一行输入的“**\*”,所有文件都已被复制和发布。您需要删除“内容”中的第一行。并且对于被排除的文件,如果在同一折叠中,则需要将它们排除在一行中。例如:使用
!?(1.txt|2.txt)
排除 1.txt 和 2.txt 文件而不是使用
!1.txt
!2.txt
【讨论】:
!?(**\System.Windows.Interactivity.resources.dll|**\*.dll.config|**\*fluentassertions*)我试过!+(**\System.Windows.Interactivity.resources.dll|**\*.dll.config|**\*fluentassertions*)我试过**\!(System.Windows.Interactivity.resources.dll|*.dll.config|*fluentassertions*)我试过**\!(System.Windows.Interactivity.resources.dll|*.dll.config|*fluentassertions*)我试过**\!?(System.Windows.Interactivity.resources.dll|*.dll.config|*fluentassertions*)。它要么不排除任何内容,要么排除所有内容,但从不排除指定的文件