TFS 使用 OR 查找匹配文件

发布于 2025-01-06 07:30:01 字数 76 浏览 1 评论 0原文

所以我想找到所有 .xml 和 .pdb 文件并将它们从构建输出文件夹中删除。我可以一次执行此操作,但我可以在找到匹配文件时执行此操作吗?

So I want to find all the .xml and .pdb files and delete them from a build output folder. I can do this one at a time, but can I do this as one find matching files.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

你曾走过我的故事 2025-01-13 07:30:01

如果您将此作为 TFS 构建过程模板的一部分执行,那么您需要一些活动和一个变量。我会尽力和你谈谈。

  1. 构建完成后在某处创建一个序列 - 我将我的序列放在文件复制到放置位置的位置之后。
  2. 创建作用域为 Sequence 的变量,名为 matchedFiles,类型为 IEnumerable
  3. FindMatchingFiles 活动添加到序列并设置属性如下
    • MatchPatternString.Format("{0}\**\*.xml;{0}\**\*.pdb", BuildDetail.DropLocation) .如果您不清理放置文件夹,可以将其更改为使用 BinariesDirectory
    • 结果matchedFiles
  4. ForEach Activity 添加到序列中并设置属性,如下所示:
    • 类型字符串
    • Foreach file in matchedFiles
    • Body中添加一个新的InvokeMethod活动并按如下所示设置属性:
      • 目标类型System.IO.File
      • 方法名称删除
      • 参数:方向:In 类型:String 值:file

现在,为了避免在构建日志中删除每个文件,请使用以下命令打开 Process Template XAML Visual Studio,找到 InvokeMethod 步骤,然后将以下属性添加到 XAML:

mtbwt:BuildTrackingParticipant.Importance="None"

If you are doing this as part of the TFS build process template then you need a few activities and a variable. I'll do my best to talk you through it.

  1. Create a Sequence somewhere after the build has completed - I put mine just after where the files were copied to the Drop Location.
  2. Create a variable scoped to the Sequence called matchedFiles of type IEnumerable<String>
  3. Add a FindMatchingFiles Activity to the Sequence and set the properties as follows
    • MatchPattern: String.Format("{0}\**\*.xml;{0}\**\*.pdb", BuildDetail.DropLocation) . You can change it to use BinariesDirectory if you are not cleaning the Drop Folder.
    • Result: matchedFiles
  4. Add a ForEach Activity to the sequence and set the properties as follows:
    • Type: String.
    • Foreach file in matchedFiles
    • In the Body add a new InvokeMethod activity and set the properties as follows:
      • TargetType: System.IO.File
      • MethodName: Delete
      • Parameter: Direction: In Type: String Value: file

Now to avoid having a every File Delete in your build log, open the Process Template XAML with Visual Studio, find the InvokeMethod step, and add the following Attribute to the XAML:

mtbwt:BuildTrackingParticipant.Importance="None"
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文