在复杂的 Windows 工作流中导航

Visual Studio 旗舰版中的各种任务都要求您修改 Windows 工作流文件(其中的一些文件具有复杂的结构和嵌套很深的元素)。 例如,很难导航和修改以下类型的文件:

  • 基于 Team Foundation Build 默认模板 (DefaultTemplate.xaml) 的自定义模板。

  • 基于 Visual Studio 实验室管理工具版默认模板 (LabDefaultTemplate.xaml) 的自定义模板。

一些主题解释了如何使用此类文件,并用简短语法描述了特定元素在 Windows 工作流文件中的位置。 本主题介绍如何使用此语法来查找要使用的特定元素。

主题内容

  • 示例:“针对项目运行 MSBuild”

  • 使用工作流设计器查找工作流元素

  • 使用 XML 编辑器查找工作流元素

示例:“针对项目运行 MSBuild”

例如,可以通过修改 DefaultTemplate.xaml 创建一个自定义生成过程,以更改生成过程使用 MSBuild 编译代码的方式。 若要进行此更改,您必须修改 Run MSBuild for Project 元素的属性。

您必须先浏览 14 个容器元素以在工作流结构中找到该元素,然后才能修改该元素。 例如,讲述此任务的主题将通过以下方式公开结构:

  1. 序列 (Sequence) >

  2. 在代理上运行 (AgentScope) >

  3. 尝试编译、测试和关联变更集和工作项 (TryCatch [Try]) >

  4. 序列 (Sequence) >

  5. 编译、测试和关联变更集和工作项 (Parallel) >

  6. 尝试编译和测试 TryCatch [Try] >

  7. 编译和测试 Sequence >

  8. 针对 BuildSettings.PlatformConfigurations 中的每个配置ForEach [Body] >

  9. 针对配置编译和测试 Sequence >

  10. 如果 BuildSettings.HasProjectsToBuild If [Then] >

  11. 针对 BuildSettings.ProjectsToBuild 中的每个项目ForEach [Body] >

  12. 尝试编译项目 TryCatch [Try] >

  13. 编译项目 Sequence >

  14. 针对项目运行 MSBuild MSBuild

此语法演示包含您必须查找的元素的嵌套结构。 每个元素都紧跟在它所在的元素后面。 例如,Run MSBuild for Project 元素包含在 Compile the Project 元素内,而后者又包含在 Try to Compile the Project 元素的 Try 块内。

使用工作流设计器查找工作流元素

使用工作流设计器时,应考虑以下方面:

  • 优点:您无需担心出现中断您工作流的架构错误。

  • 优点:如果您更喜欢使用可视模型而非编辑代码,则此方法更适合您。

  • 缺点:对于一些任务而言,使用设计器执行它们比使用基于文本的编辑器执行它们所花费的时间要长一些。

  • 缺点:与使用 XML 编辑器来编辑您的工作流文件相比,工作流设计器会使工作流文件更大。

若要在工作流设计器中打开 Windows 工作流文件,请打开**“源代码管理资源管理器”**,找到包含 .xaml 文件的文件夹,然后双击该文件夹。

若要通过使用工作流设计器查找 Run MSBuild for Project 元素,请先从上一示例中的顶层开始:

  1. 序列 (Sequence) >

  2. 在代理上运行 (AgentScope) >

  3. 尝试编译、测试和关联变更集和工作项 (TryCatch [Try]) >

  4. 序列 (Sequence) >

  5. ...

在工作流设计器中,确保您查看的是 Process 元素的完全折叠视图。 在工作流设计器窗口的顶部,单击 Process,然后单击**“全部折叠”**。 该窗口现在类似于以下视图:

完全折叠的默认模板的顶层

若要开始导航到所查找的元素,请在 Run on Agent 元素中执行以下任一步骤:

导航到工作流元素中的两种方法

如果您双击**“双击以查看”**,则结果将类似于以下视图:

隔离的“在代理上运行”活动

在此视图中,可更轻松地将注意力集中到所使用的元素上。 但是,您无法看到范围更广的上下文。

如果您改为单击 展开**“展开”**图标,则结果将类似于以下视图:

上下文中的“在代理上运行”活动

在此视图中,您会看到范围更广的上下文,有时这会很有用。 但是,随着您在结构中进行更深入地导航,视图的复杂度和大小可能会给使您不知所措。

使用最适合您工作的方法。 从列表的顶部开始,并浏览每个元素直至找到您所搜索的元素,来重复模式。

使用 XML 编辑器查找工作流元素

使用文本编辑器(如 XML 编辑器)时,应考虑以下方面:

  • 优点:可更快速高效地完成某些任务。 例如,可快速查找并替换特定的 XAML 段,也可以快速进行全局更改。

  • 优点:如果您喜欢使用代码,则此方法更适合您。

  • 缺点:有可能会出现中断工作流的架构错误。

使用 XML 编辑器查找工作流元素

  1. 在**“源代码管理资源管理器”**中,打开包含您的工作流的文件夹。

  2. 在该窗口的顶部附近,单击**“本地路径”**旁边显示的链接。

    Windows 资源管理器将出现,并显示此文件夹的内容。

    提示

    如果“源代码管理资源管理器”顶部的“本地路径”标签的旁边出现“未映射”链接,请单击该链接以将服务器目录映射到本地工作区中的相应目录。

  3. 在 Windows 资源管理器中,在按住 Shift 键的同时右击包含工作流的 .xaml 文件。 释放 Shift 键,然后单击**“复制为路径”**。

  4. 在 Visual Studio 2010 中,打开**“文件”菜单,单击“打开”,然后单击“文件”**。

  5. 在**“打开文件”对话框中,将光标停留在“文件名”**框中,然后按 Ctrl+V 粘贴路径。

  6. 单击**“打开”按钮旁边的图标,然后单击“打开方式”**。

  7. 在**“打开方式”对话框中,单击“XML (文本)编辑器”**。

    提示

    若要始终使用 XML(文本)编辑器来编辑 .xaml 文件(如 Windows 工作流文件),请单击“设为默认值”

    单击**“确定”**。

    XML(文本)编辑器窗口中将显示您工作流的内容。

  8. 使用 XML(文本)编辑器找到(例如,按 Ctrl+F)该元素,然后进行所需的更改。

    重要说明重要事项

    确保您所做的任何更改都未违反工作流架构的规则。 否则,工作流可能会失败或无法正常工作。

其他资源

您可以在 Microsoft 网站上的下列主题中查找其他信息:

请参见

概念

创建和使用自定义生成过程模板

创建工作区以使用团队项目