解决进程导入的验证错误

Azure DevOps Services

重要

导入过程支持托管 XML 进程模型,通过更新进程模板的 WIT 定义来管理自定义。 此功能仅适用于已使用 Azure DevOps 数据导入服务迁移到 Azure DevOps Services 的组织。 如果对 Azure DevOps Services 进程自定义有任何疑问,请与我们联系

如果使用继承过程模型,可以通过用户界面自定义工作跟踪,方法是 创建继承的进程。 如果使用本地 XML 进程模型,则可以自定义进程模板,请参阅 上传或下载进程模板自定义进程模板

若要了解有关流程模型的详细信息,请参阅 自定义工作跟踪

在进程导入过程中,将验证该过程,以确保系统对自定义进程按预期工作。 如果进程验证失败,将收到错误消息列表。

Process successfully imported

如果在尝试 导入过程时收到验证错误,则需要在重试导入之前解决该错误。 每个错误都有一个链接,可了解有关特定验证失败的详细信息以及有关如何更正此错误的指导。 应用为收到的消息提供的解析修补程序(es),压缩更新的文件,然后重试导入操作。

如果刚刚开始自定义, 请查看提供的验证规则。

信息消息 - 无需执行任何操作

TF402555:删除字段 [refName]

正在导入的进程不包括正在更新的进程中的命名字段,因此它会作为更新操作的一部分删除。

方案示例

  1. 将自定义字段添加到 Bug.xml 工作项
    <FIELD name="Foo" refname="MyCompany.CustomFields.Foo" type="String" reportable="dimension" />
    
  2. 导入过程
  3. 从 Bug.xml 中删除字段
  4. 导入更新的进程

系统显示有关要删除的字段的信息消息。
TF402555: Field MyCompany.CustomFields.Foo will be deleted

TF402591:现有进程 [processName]中,引用名称 [refName] 的字段不能从“[name2]”重命名为“[name1]”。

要导入的进程包含重命名的字段,该字段在当前进程(es)中使用相同的 refname 字段。

无法重命名字段名称。

TF402598:删除工作项类型 [refName]

要更新的进程不包括当前进程中存在的命名 WIT。 在更新现有进程的过程中,系统会从当前进程中删除命名的 WIT。

方案示例

  1. 创建 名为“LSI”的新工作项类型
    <WORKITEMTYPE name="LSI" refname="My.LSI">  
    
  2. 导入过程
  3. 从进程中删除 LSI 工作项类型
  4. 导入更新的进程

系统显示有关删除的信息消息。
TF402598: Work item type My.LSI will be deleted

TF402601:工作项类型 [witName] 已从 [name2] 重命名为 [name1]。

该过程包含重命名的 WIT。 WIT 在现有进程中重命名。
要更新的进程包含已从当前进程中的名称重命名的 WIT。
在更新现有进程的过程中,系统会重命名当前进程中的 WIT。 引用该过程的现有项目中的所有工作项也会重命名。

方案示例

  1. 创建 名为“LSI”的新工作项类型
    <WORKITEMTYPE name="LSI" refname="My.LSI">  
    
  2. 导入过程
  3. 将 LSI 工作项类型重命名为实时站点事件
    <WORKITEMTYPE name="Live Site Incident" refname="My.LSI">  
    
  4. 导入更新的进程

系统显示有关要重命名的 WIT 的信息消息。
TF402601: Work item type My.LSI will be renamed to 'Live Site Incident' from 'LSI'

其他文件错误

TF402586:错误分析文件: [错误消息]

格式不正确的 XML 语法可能会导致分析文件错误。 缺少结束标记、缺少引号、缺少打开或右括号(< 或 >)可能会导致分析文件错误。

在错误消息中,确定并更正格式不正确的 XML 的来源。

TF402594:文件违反架构,出现以下错误: [错误消息]

进程 zip 文件中的每个 XML 文件必须符合给定架构。 架构冲突错误是由 XML 文件中的自定义 XML 标记或属性引起的。 阅读错误消息以确定架构冲突的源并相应地修复。

工作项跟踪的 FORM 架构定义将元素中的所有子元素定义为 camel 大小写,所有其他元素都定义为大写。 如果在验证类型定义文件时遇到错误,请检查元素的大小写结构。 同时,根据 XML 语法规则,开始标记与结束标记的大小写结构还必须匹配。

错误示例

自定义 XML 标记:

  <WORKITEMTYPE name="Bug" refname="My.Bug">
    <FOO>Hello World</FOO>
    ...

添加到 XML 元素的额外属性:

  <WORKITEMTYPE name="Bug" refname="My.Bug" foo="hello world">

VS412450:[fileName]中的 Xml 架构验证错误。 [错误消息]

更正命名文件中的架构错误。

进程模板插件错误

ProcessTemplate.xml 是一个根文件,用于定义整个进程以及将导入以添加或更新进程的所有 XML 定义文件。 此文件包含创建项目时引用的所有插件和任务组。 每个任务组引用定义特定任务的从属 XML 文件(通常位于子文件夹中)。 通常,为每个插件指定一个任务组。

ProcessTemplate.xml 定义文件必须符合 ProcessTemplate XML 元素引用中所述的语法和规则。

VS412457:进程包中找不到指定的文件“[fileName]”。

更正进程 zip 包以包含命名文件。

VS402452:进程模板未指定版本或指定无效版本。

编辑 ProcessTemplate.xml 文件以指定版本。

错误示例

ProcessTemplate.xml 文件指定与敏捷进程相同的 version GUID,这是锁定的进程。

<ProcessTemplate>
  <metadata>
    <name>Fabrikam Agile</name>
    <description>Use this template to support Fabrikam Agile planning methods.</description>
    <version type="ADCC42AB-9882-485E-A3ED-7678F01F66BC" major="7" minor="36" />

解决方法示例

指定了不同的 GUID。

<ProcessTemplate>
  <metadata>
    <name>Fabrikam Agile</name>
    <description>Use this template to support Fabrikam Agile planning methods.</description>
    <version type="7710F7A4-1F19-4054-9FBC-D94A5935221E" major="7" minor="1" />

VS412453:进程模板 zip 文件不包含必需的插件 [pluginName]

ProcessTemplate.xml 文件中列出的所有文件及其支持的插件文件都必须存在于进程 zip 文件中。

使用搜索工具在进程文件和文件夹集中查找 filename=value 的所有实例。 然后,更新插件以删除缺少的命名文件,或将命名文件添加到其所属的进程文件夹中。

 <taskList filename="WorkItem Tracking\WorkItems.xml" />

错误示例

WorkItemTracking 插件指定 fileName="WorkItem Tracking\TypeDefinitions\Epic.xml,但它尚未添加到 WorkItem Tracking\TypeDefinitions 文件夹。

     <WORKITEMTYPE fileName="WorkItem Tracking\TypeDefinitions\Epic.xml" />

解决方法示例

将 Epic.xml 文件添加到 WorkItem Tracking\TypeDefinitions 文件夹。

VS412454:插件 [pluginName] 包含多个 taskList{1}插件 {2}。 每个插件只允许一个 taskList

更正命名插件的 ProcessTemplate.xml 文件以减少定义的元素数 tasklist

错误示例

WorkItemTracking 插件包含两个 tasklist 语句。

    <group id="WorkItemTracking" description="Workitem definitions uploading." completionMessage="Work item tracking tasks completed.">
      <dependencies>
        <dependency groupId="Classification" />
        <dependency groupId="Groups" />
      </dependencies>
      <taskList filename="WorkItem Tracking\WorkItems.xml" />
      <taskList filename="WorkItem Tracking\FabrikamWorkItems.xml" />
    </group>

解决方法示例

    <group id="WorkItemTracking" description="Workitem definitions uploading." completionMessage="Work item tracking tasks completed.">
      <dependencies>
        <dependency groupId="Classification" />
        <dependency groupId="Groups" />
      </dependencies>
      <taskList filename="WorkItem Tracking\FabrikamWorkItems.xml" />
    </group>

TF402575:只能在进程中包括一个类别定义文件。

错误示例

WorkItems.xml 文件包含两个 CATEGORIES 语句。

  <task id="Categories" name="Categories definitions" plugin="Microsoft.ProjectCreationWizard.WorkItemTracking" completionMessage="Work item type categories created">
    <dependencies>
      <dependency taskId="WITs" />
    </dependencies>
    <taskXml>
      <CATEGORIES fileName="WorkItem Tracking\Categories.xml" />
      <CATEGORIES fileName="WorkItem Tracking\Custom_Categories.xml" />
    </taskXml>
  </task>

解决方法示例

WorkItems.xml 文件已更新为仅包含一个 CATEGORIES 语句。

  <task id="Categories" name="Categories definitions" plugin="Microsoft.ProjectCreationWizard.WorkItemTracking" completionMessage="Work item type categories created">
    <dependencies>
      <dependency taskId="WITs" />
    </dependencies>
    <taskXml>
      <CATEGORIES fileName="WorkItem Tracking\Custom_Categories.xml" />
    </taskXml>
  </task>

TF402576:只能在进程中包含一个 ProcessConfiguration 定义文件。

错误示例

WorkItems.xml 文件包含重复 ProjectConfiguration 语句。

    <taskXml>
      <PROCESSCONFIGURATION>
        <ProjectConfiguration fileName="WorkItem Tracking\Process\ProcessConfiguration.xml"/>
      </PROCESSCONFIGURATION>
    </taskXml>
    <taskXml>
      <PROCESSCONFIGURATION>
        <ProjectConfiguration fileName="WorkItem Tracking\Process\ProcessConfiguration.xml"/>
      </PROCESSCONFIGURATION>
    </taskXml>

解决方法示例

WorkItems.xml 文件已更新为仅包含一个 ProjectConfiguration 语句。

    <taskXml>
      <PROCESSCONFIGURATION>
        <ProjectConfiguration fileName="WorkItem Tracking\Process\ProcessConfiguration.xml"/>
      </PROCESSCONFIGURATION>
    </taskXml>

TF402587:缺少必需的 ProcessConfiguration 文件。

WorkItems.xml 文件指定要上传的 ProcessConfiguration 文件。 未指定文件、包含过期规范、模板中缺少指定文件或文件夹/文件名不正确。

错误示例

指定的配置已过期,并指定进程文件夹中不包含的两个文件。

    <taskXml>
      <PROCESSCONFIGURATION>
        <CommonConfiguration fileName="WorkItem Tracking\Process\CommonConfiguration.xml"/> 
        <AgileConfiguration fileName="WorkItem Tracking\Process\AgileConfiguration.xml"/>
      </PROCESSCONFIGURATION>
    </taskXml>

解决方法示例

WorkItems.xml 文件已更新,以包含正确的配置 ProjectConfiguration 语句。

    <taskXml>
      <PROCESSCONFIGURATION>
        <ProjectConfiguration fileName="WorkItem Tracking\Process\ProcessConfiguration.xml"/>
      </PROCESSCONFIGURATION>
    </taskXml>

TF402577:字段 [refName] 指定已在进程 [processNames] 中的字段 [refName] 使用的友好名称 [friendlyName]。

对于导入到 Azure DevOps Services 的所有进程指定的所有 WIT 定义,友好名称必须是唯一的。

命名进程包含定义使用友好名称的字段的 WIT。

修改包含 [refName] 的进程 zip 文件中的 WIT 定义,并指定其他友好名称或使其与正在使用的现有字段匹配。

错误示例

UserStory WIT 定义包含 FIELD 具有友好名称 Product 的 Fabrikam.Product.Family 的元素。

      <FIELD name="Product" refname="Fabrikam.Product.Family" type="String" reportable="dimension">
        <HELPTEXT>Enter the name of the product family for this story or feature.</HELPTEXT>
      </FIELD>

但是,在现有进程中,Fabrikam.Product.Versions 使用友好名称 Product

      <FIELD name="Product" refname="Fabrikam.Product.Versions" type="String" reportable="dimension">
        <HELPTEXT>Enter the name of the product version for this story or feature.</HELPTEXT>
      </FIELD>

解决方法示例

更新 UserStory WIT 定义以匹配现有字段。

      <FIELD name="Product" refname="Fabrikam.Product.Versions" type="String" reportable="dimension">
        <HELPTEXT>Enter the name of the product version for this story or feature.</HELPTEXT>
      </FIELD>

TF402585:进程模板中缺少必需的 WorkItemTracking 插件引用。

必须在 ProcessTemplate.xml 文件的节中metadata指定Microsoft.ProjectCreationWizard.WorkItemTracking插件:

错误示例

Microsoft.ProjectCreationWizard.WorkItemTracking ProcessTemplate.xml 文件中缺少plugins插件。

   <plugins>
      <plugin name="Microsoft.ProjectCreationWizard.Classification" wizardPage="false" />
      <plugin name="Microsoft.ProjectCreationWizard.Reporting" wizardPage="false" />
      <plugin name="Microsoft.ProjectCreationWizard.Portal" wizardPage="true" />
      <plugin name="Microsoft.ProjectCreationWizard.Groups" wizardPage="false" />
      <plugin name="Microsoft.ProjectCreationWizard.VersionControl" wizardPage="true" />
      <plugin name="Microsoft.ProjectCreationWizard.TestManagement" wizardPage="false" />
      <plugin name="Microsoft.ProjectCreationWizard.Build" wizardPage="false" />
      <plugin name="Microsoft.ProjectCreationWizard.Lab" wizardPage="false" />
    </plugins>

解决方法示例

   <plugins>
      <plugin name="Microsoft.ProjectCreationWizard.Classification" wizardPage="false" />
      <plugin name="Microsoft.ProjectCreationWizard.Reporting" wizardPage="false" />
      <plugin name="Microsoft.ProjectCreationWizard.Portal" wizardPage="true" />
      <plugin name="Microsoft.ProjectCreationWizard.Groups" wizardPage="false" />
      <plugin name="Microsoft.ProjectCreationWizard.WorkItemTracking" wizardPage="false" />
      <plugin name="Microsoft.ProjectCreationWizard.VersionControl" wizardPage="true" />
      <plugin name="Microsoft.ProjectCreationWizard.TestManagement" wizardPage="false" />
      <plugin name="Microsoft.ProjectCreationWizard.Build" wizardPage="false" />
      <plugin name="Microsoft.ProjectCreationWizard.Lab" wizardPage="false" />
    </plugins>

类别

Categories.xml 定义文件必须符合 Categories XML 元素引用中所述的语法和规则。

TF402546:类别文件缺少类别 [categoryName ]

ProcessConfiguration.xml 文件中引用的所有类别都必须在 Categories.xml 文件中定义。 此外,系统要求 Categories.xml 文件包含以下类别的定义:

  • Bug 类别
  • 代码评审请求类别
  • 代码评审响应类别
  • 反馈请求类别
  • 反馈响应类别
  • 隐藏类型类别
  • 要求类别
  • 共享步骤类别
  • 共享参数类别
  • 任务类别
  • 测试用例类别
  • 测试计划类别
  • 测试套件类别

更新 Categories.xml 文件以定义缺少 的 [name] 类别。

错误示例

ProcessConfiguration 引用 Epic Category,但它在 Categories.xml 定义文件中缺失。

解决方法示例

史诗类别将添加到类别文件。

  <CATEGORY name="Epic Category" refname="Microsoft.EpicCategory">
    <DEFAULTWORKITEMTYPE name="Epic" />
  </CATEGORY>

TF402553:元素 [name] 引用未在类别文件中定义的类别 [categoryName]。

更新 Categories.xml 文件以定义缺少 的 [categoryName] 类别。

TF402560:已定义 [n] 类别。 仅 允许 [nn]

查看所有元素语句的 CATEGORY Categories.xml 文件,并确定可以删除哪些元素语句,以免超过允许的限制。 然后,查看 ProcessConfiguration.xml 文件以替换引用已删除类别的值。

TF402596:类别 [categoryName ] 不定义工作项类型 [witName]

类别必须引用 /WorkItem Tracking/TypeDefinitions 文件夹中定义的 WIT,并将其列为要在 WorkItems.xml 插件文件中上传的任务。
查看 Categories.xml 文件,以获取对 /WorkItem Tracking/TypeDefinitions 文件夹中不包含的 WIT 的引用。

错误示例

为 Microsoft.EpicCategory 引用的 WIT 的名称拼写错误。

  <CATEGORY name="Epic Category" refname="Microsoft.EpicCategory">
    <DEFAULTWORKITEMTYPE name="EpicABC" />
  </CATEGORY>

解决方法示例

  <CATEGORY name="Epic Category" refname="Microsoft.EpicCategory">
    <DEFAULTWORKITEMTYPE name="Epic" />
  </CATEGORY>

TF402597:不支持自定义类别 [categoryName ] ,因为 ProcessConfiguration 不引用它。

只能在 ProcessConfiguration 中指定用于配置敏捷工具功能的自定义类别。
查看 ProcessConfiguration.xml 文件,并确定是否错过了添加对类别的支持。 否则,请从 Categories.xml 文件中删除 [categoryName]。

错误示例

ProcessConfiguration 不引用 Microsoft.EpicCategory,尽管它在 Categories.xml 定义文件中定义。

解决方法示例

PortfolioBacklog添加到 ProcessConfiguration 以引用 Microsoft.EpicCategory。

    <PortfolioBacklog category="Microsoft.EpicCategory" pluralName="Epics" singularName="Epic" workItemCountLimit="1000">
      <States>
        <State value="New" type="Proposed" />
        <State value="Active" type="InProgress" />
        <State value="Resolved" type="InProgress" />
        <State value="Closed" type="Complete" />
      </States>
      <Columns>
        <Column refname="System.WorkItemType" width="100" />
        <Column refname="System.Title" width="400" />
        <Column refname="System.State" width="100" />
        <Column refname="Microsoft.VSTS.Scheduling.Effort" width="50" />
        <Column refname="Microsoft.VSTS.Common.BusinessValue" width="50" />
        <Column refname="Microsoft.VSTS.CMMI.RequirementType" width="100" />
        <Column refname="System.Tags" width="200" />
      </Columns>
      <AddPanel>
        <Fields>
          <Field refname="System.Title" />
        </Fields>
      </AddPanel>
    </PortfolioBacklog>

参考文章:

分类插件错误

Classification.xml 定义文件必须符合 Classification 插件中所述的语法和规则。

TF402511:分类插件包含重复的属性名称: [propertyName]

错误示例

Classification.xml 文件包含容器元素下properties的第二property name="MSPROJ"个语句。

      <properties>
        <property name="MSPROJ" value="Classification\FileMapping.xml" isFile="true" />
        <property name="MSPROJ" value="Classification\Fabrikam_FileMapping.xml" isFile="true" />
        <property name="Process Template" value="Fabrikam Agile"/>
      </properties>

解决方法示例

删除重复语句。

      <properties>
        <property name="MSPROJ" value="Classification\Fabrikam_FileMapping.xml" isFile="true" />
        <property name="Process Template" value="Fabrikam Agile"/>
      </properties>

TF402512:文件 [fileName] 不存在。

Classification.xml 文件中指定的文件不在指定路径中,或者路径拼写错误。

错误示例

分类文件夹路径拼写错误。

       <properties>
        <property name="MSPROJ" value="Classification\Fabrikam_FileMapping.xml" isFile="true" />
        <property name="Process Template" value="Agile"/>
      </properties>

解决方法示例

      <properties>
        <property name="MSPROJ" value="Classification\Fabrikam_FileMapping.xml" isFile="true" />
        <property name="Process Template" value="Fabrikam Agile"/>
      </properties>

TF402513:分类插件中的名称 [pathName] 不符合 TreePath 命名限制。

Node查看指定的元素并更改名称,使其符合支持命名约定。 参考: 添加和修改区域和迭代路径

错误示例

路径名称包括不允许的 # 字符。

        <Node StructureType="ProjectLifecycle" Name="Iteration" xmlns="">
          <Children>
            <Node StructureType="ProjectLifecycle" Name="Sprint #1" />
            <Node StructureType="ProjectLifecycle" Name="Sprint #2" />
            <Node StructureType="ProjectLifecycle" Name="Sprint #3" />
          </Children>
        </Node>

解决方法示例

路径名称已更正。

        <Node StructureType="ProjectLifecycle" Name="Iteration" xmlns="">
          <Children>
            <Node StructureType="ProjectLifecycle" Name="Sprint 1" />
            <Node StructureType="ProjectLifecycle" Name="Sprint 2" />
            <Node StructureType="ProjectLifecycle" Name="Sprint 3" />
          </Children>
        </Node>

TF402514:不支持分类插件中的 Node StructureType [structureTypeName]。

StructureType 属性仅允许以下值: ProjectModelHierarchyProjectLifecycle
Node查看已指定的元素并删除任何不受支持的属性。

错误示例

ProjectLifecycle 拼写错误。

        <Node StructureType="ProjectLifecylce" Name="Iteration" xmlns="">
          <Children>
            <Node StructureType="ProjectLifecycle" Name="Sprint 1" />
            <Node StructureType="ProjectLifecycle" Name="Sprint 2" />
            <Node StructureType="ProjectLifecycle" Name="Sprint 3" />
          </Children>
        </Node>

解决方法示例

拼写错误的名称已被更正。

        <Node StructureType="ProjectLifecycle" Name="Iteration" xmlns="">
          <Children>
            <Node StructureType="ProjectLifecycle" Name="Sprint 1" />
            <Node StructureType="ProjectLifecycle" Name="Sprint 2" />
            <Node StructureType="ProjectLifecycle" Name="Sprint 3" />
          </Children>
        </Node>

TF402515:分类插件中的属性属性缺失或不受支持。

property 元素仅允许以下属性: namevalueisFile
property查看指定的元素并删除任何不受支持的属性。

错误示例

属性 value 拼写错误。

       <properties>
        <property name="MSPROJ" vaule="Classification\Fabrikam_FileMapping.xml" isFile="true" />
        <property name="Process Template" value="Agile" />
      </properties>

解决方法示例

已更正拼写错误的属性。

      <properties>
        <property name="MSPROJ" value="Classification\Fabrikam_FileMapping.xml" isFile="true" />
        <property name="Process Template" value="Fabrikam Agile"/>
      </properties>

TF402516:分类插件包含两个以上的根级别节点,不受支持。

Node查看指定的元素并删除额外的根级别节点。

错误示例

Classification.xml 文件包含容器元素下Nodes的第二Node StructureType="ProjectLifecycle"个语句。

      <Nodes>
        <Node StructureType="ProjectLifecycle" Name="Iteration" xmlns="">
          <Children>
            <Node StructureType="ProjectLifecycle" Name="Sprint 1" />
            <Node StructureType="ProjectLifecycle" Name="Sprint 2" />
            <Node StructureType="ProjectLifecycle" Name="Sprint 3" />
          </Children>
        </Node>
        <Node StructureType="ProjectLifecycle" Name="Iteration" xmlns="">
        <Node StructureType="ProjectModelHierarchy" Name="Area" xmlns="" />
      </Nodes>

解决方法示例

删除第二个语句。

      <Nodes>
        <Node StructureType="ProjectLifecycle" Name="Iteration" xmlns="">
          <Children>
            <Node StructureType="ProjectLifecycle" Name="Sprint 1" />
            <Node StructureType="ProjectLifecycle" Name="Sprint 2" />
            <Node StructureType="ProjectLifecycle" Name="Sprint 3" />
          </Children>
        </Node>
        <Node StructureType="ProjectModelHierarchy" Name="Area" xmlns="" />
      </Nodes>

TF402523:GroupsandPermissions 插件中的区域或迭代路径“[pathName]”缺少分类插件。

将缺少 的 [pathName] 添加到 Classification.xml 文件,或将其从 GroupsandPermissions.xml 文件中删除。

错误示例

Classification.xml 文件指定冲刺,而不是迭代。

GroupsandPermissions.xmlteamSettings 指定迭代。

    <teamSettings areaPath="Area">
        <iterationPaths backlogPath="Iteration">
            <iterationPath path="Iteration 1" />
            <iterationPath path="Iteration 2" />
            <iterationPath path="Iteration 3" />
        </iterationPaths>
    </teamSettings>

但是,Classification.xml 指定冲刺。

        <Node StructureType="ProjectLifecycle" Name="Iteration" xmlns="">
          <Children>
            <Node StructureType="ProjectLifecycle" Name="Sprint 1" />
            <Node StructureType="ProjectLifecycle" Name="Sprint 2" />
            <Node StructureType="ProjectLifecycle" Name="Sprint 3" />
          </Children>
        </Node>

解决方法示例

更新 GroupsandPermissions.xml 以使用冲刺。

    <teamSettings areaPath="Area">
        <iterationPaths backlogPath="Iteration">
            <iterationPath path="Sprint 1" />
            <iterationPath path="Sprint 2" />
            <iterationPath path="Sprint 3" />
        </iterationPaths>
    </teamSettings>

注意

当前导入过程中不支持自定义链接类型。

查看所有元素语句的 WorkItems.xml 插件文件 LINKTYPE 。 删除与自定义链接类型关联的语句,以免超过允许的限制。 然后,从 LinkTypes 文件夹中删除相应的链接类型定义文件。

此外,请删除对已添加到节下FORM某个节中的 LinksControlOptions WIT 定义的自定义链接类型的任何引用。

查看所有元素语句的 WorkItems.xml 插件文件 LINKTYPE 。 删除指定自定义链接类型的任何语句。 然后,从 LinkTypes 文件夹中删除相应的链接类型定义文件。

WorkItems.xml 插件文件中的以下 LINKTYPE 元素语句有效:

      <LINKTYPES>
        <LINKTYPE fileName="WorkItem Tracking\LinkTypes\Affects.xml" />
        <LINKTYPE fileName="WorkItem Tracking\LinkTypes\SharedStep.xml" />
        <LINKTYPE fileName="WorkItem Tracking\LinkTypes\TestedBy.xml" />
        <LINKTYPE fileName="WorkItem Tracking\LinkTypes\SharedParameterLink.xml" />
      </LINKTYPES>

全局列表

注意

当前导入过程功能不支持全局列表。

TF402564:已定义 [n] 全局列表。 仅 允许 [nn]

自定义进程模板中定义的一个或多个 WIT 包含一个 GLOBALLIST 元素。 搜索 WIT 定义文件,并将任何 GLOBALLIST 元素替换为 ALLOWEDVALUESSUGGESTEDVALUES 元素。 有关参考语法,请参阅 “定义选取列表”。

TF402565:已在全局列表 [globalListName] 中定义 [n] 项。 最多 允许 [nn]

命名 GLOBALLIST 元素包含的项数超过允许的项。 减少元素中包含的 GLOBALLIST 列表项数,或将全局列表分段为两个或更多个元素,以便两个列表都不超过允许的最大项数。

有关参考语法,请参阅 “定义选取列表”。

进程配置

ProcessConfiguration.xml 定义文件必须符合 ProcessConfiguration XML 元素引用中所述的语法和规则。

TF402543:元素 [elementName] 要求将一个工作流状态完全映射到 metastate [metastateName]

States更新 ProcessConfiguration.xml 文件中命名元素中的节,以提供缺少的元状态映射或删除额外的映射。

错误示例

ProcessConfiguration.xml RequirementBacklog 元素缺少元州映射。type="Proposed"

<RequirementBacklog category="Microsoft.RequirementCategory" pluralName="Backlog items" singularName="Backlog item">
   <States>
      <State value="Committed" type="InProgress" />
      <State value="Done" type="Complete" />
   </States>
 . . .
</RequirementBacklog >

解决方法示例

添加了缺少元数据映射。

<RequirementBacklog category="Microsoft.RequirementCategory" pluralName="Backlog items" singularName="Backlog item">
   <States>
      <State value="New" type="Proposed" />
      <State value="Committed" type="InProgress" />
      <State value="Done" type="Complete" />
   </States>
 . . .
</RequirementBacklog >

TF402547:元素 [elementName] 要求工作项类型 [witName] 至少将一个状态映射到 metastate [metastateName]

WORKFLOW查看为命名 WIT 定义的状态,然后更新 States ProcessConfiguration.xml 文件中命名元素中的节,为命名 WIT 提供缺少的元状态映射。

TF402548:元素 [elementName] 要求将至少一个状态映射到 metastate [metastateName]

States更新 ProcessConfiguration.xml 文件中命名元素中的节,以提供缺少的元状态映射。

错误示例

ProcessConfiguration.xml RequirementBacklog 元素缺少元州映射。type="InProgress"

<RequirementBacklog category="Microsoft.RequirementCategory" pluralName="Backlog items" singularName="Backlog item">
   <States>
      <State value="New" type="Proposed" />
      <State value="Done" type="Complete" />
   </States>
 . . .
</RequirementBacklog >

解决方法示例

添加了缺少元数据映射。

<RequirementBacklog category="Microsoft.RequirementCategory" pluralName="Backlog items" singularName="Backlog item">
   <States>
      <State value="New" type="Proposed" />
      <State value="Committed" type="InProgress" />
      <State value="Done" type="Complete" />
   </States>
 . . .
</RequirementBacklog >

TF402550:元素 [elementName] 包含工作流状态 [stateName] 的多个元状态映射。

Metastate 值不能映射到多个工作流状态。

错误示例

ProcessConfiguration.xml RequirementBacklog 元素包含两个 value="Active"元州映射。

<RequirementBacklog category="Microsoft.RequirementCategory" pluralName="Stories" singularName="Story">
   <States>
      <State value="Active" type="Proposed" />
      <State value="Active" type="InProgress" />
      <State value="Resolved" type="InProgress" />
      <State value="Closed" type="Complete" />
   </States>
 . . .
</RequirementBacklog >

解决方法示例

已更正元州映射。

<RequirementBacklog category="Microsoft.RequirementCategory" pluralName="Stories" singularName="Story">
   <States>
      <State value="New" type="Proposed" />
      <State value="Active" type="InProgress" />
      <State value="Resolved" type="InProgress" />
      <State value="Closed" type="Complete" />
   </States>
 . . .
</RequirementBacklog >

TF402551:工作项类型 [witName] 不定义工作流状态 [stateName],这是必需的,因为 ProcessConfiguration 将其映射到元素 [elementName ] 的 metastate。

更正 ProcessConfiguration.xml 文件或 WORKFLOW 命名 WIT 的节以添加缺失 STATETRANSITION 元素。

错误示例

ProcessConfiguration.xml 元素指定value="Committed",但 UserStory.xml RequirementBacklog 不将 Committed 定义为状态。

<RequirementBacklog category="Microsoft.RequirementCategory" pluralName="Stories" singularName="Story">
   <States>
      <State value="New" type="Proposed" />
      <State value="Committed" type="InProgress" />
      <State value="Active" type="InProgress" />
      <State value="Resolved" type="InProgress" />
      <State value="Closed" type="Complete" />
   </States>
 . . .
</RequirementBacklog >

解决方法示例

删除了 Committed 的 State 元素。

<RequirementBacklog category="Microsoft.RequirementCategory" pluralName="Stories" singularName="Story">
   <States>
      <State value="New" type="Proposed" />
      <State value="Active" type="InProgress" />
      <State value="Resolved" type="InProgress" />
      <State value="Closed" type="Complete" />
   </States>
 . . .
</RequirementBacklog >

TF402552:元素 [elementName] 要求为工作项类型 [witName] 将一个状态准确映射到以下状态的 metastate [metastateName][stateNames]。

STATES查看 ProcessConfiguration.xml 文件中的命名元素部分,并确保错误消息中列出的每个 sate 都存在并映射到 metastate。

错误示例

ProcessConfiguration.xml RequirementBacklog 元素缺少工作项类型上User Story存在的状态New。 它应位于映射到type=Proposed"STATES列表中。

<RequirementBacklog category="Microsoft.RequirementCategory" pluralName="Stories" singularName="Story">
   <States>
      <State value="Active" type="InProgress" />
      <State value="Resolved" type="InProgress" />
      <State value="Closed" type="Complete" />
   </States>
 . . .
</RequirementBacklog >

解决方法示例

已更正 Metastate 映射。

<RequirementBacklog category="Microsoft.RequirementCategory" pluralName="Stories" singularName="Story">
   <States>
      <State value="New" type="Proposed" />
      <State value="Active" type="InProgress" />
      <State value="Resolved" type="InProgress" />
      <State value="Closed" type="Complete" />
   </States>
 . . .
</RequirementBacklog >

TF402554:元素 [elementName ] 指定不受支持的 metastate [metastateName]

STATES查看 ProcessConfiguration.xml 文件中的命名元素部分,并删除或更正命名的 metastate。

错误示例

ProcessConfiguration.xml RequirementBacklog 元素包含拼写错误的 metastate 映射 type=Proposed"

<RequirementBacklog category="Microsoft.RequirementCategory" pluralName="Stories" singularName="Story">
   <States>
      <State value="New" type="Propsed" />
      <State value="Active" type="InProgress" />
      <State value="Resolved" type="InProgress" />
      <State value="Closed" type="Complete" />
   </States>
 . . .
</RequirementBacklog >

解决方法示例

已更正 Metastate 映射。

<RequirementBacklog category="Microsoft.RequirementCategory" pluralName="Stories" singularName="Story">
   <States>
      <State value="New" type="Proposed" />
      <State value="Active" type="InProgress" />
      <State value="Resolved" type="InProgress" />
      <State value="Closed" type="Complete" />
   </States>
 . . .
</RequirementBacklog >

TF402571:进程配置中缺少必需的元素 [elementName]。

编辑 ProcessConfiguration.xml 文件以添加缺少的命名元素。

查看 所需元素的 ProcessConfiguration XML 元素引用

TF402572:在进程模板包中找不到指定文件。

zip 文件中缺少用于上传的插件文件中指定的文件。 查看为上传指定的所有文件,并确保它们包含在进程 zip 文件中。

查看 所需元素的 ProcessConfiguration XML 元素引用

TF402574:ProcessConfiguration 未指定必需的 TypeField[typeField]

编辑 ProcessConfiguration.xml 文件以添加缺少的命名 TypeField 元素。

查看所需TypeField元素的 ProcessConfiguration XML 元素引用

示例

Scrum 进程指定以下 TypeField 元素。 如果缺少其中任何一项,则会收到错误TF402574。

<TypeFields>
    <TypeField refname="System.AreaPath" type="Team" />
    <TypeField refname="Microsoft.VSTS.Scheduling.RemainingWork" type="RemainingWork" format="format h" />
    <TypeField refname="Microsoft.VSTS.Common.BacklogPriority" type="Order" />
    <TypeField refname="Microsoft.VSTS.Scheduling.Effort" type="Effort" />
    <TypeField refname="Microsoft.VSTS.Common.Activity" type="Activity" />
    <TypeField refname="Microsoft.VSTS.Feedback.ApplicationStartInformation" type="ApplicationStartInformation" />
    <TypeField refname="Microsoft.VSTS.Feedback.ApplicationLaunchInstructions" type="ApplicationLaunchInstructions" />
    <TypeField refname="Microsoft.VSTS.Feedback.ApplicationType" type="ApplicationType">
        <TypeFieldValues>
            <TypeFieldValue value="Web application" type="WebApp" />
            <TypeFieldValue value="Remote machine" type="RemoteMachine" />
            <TypeFieldValue value="Client application" type="ClientApp" />
        </TypeFieldValues>
    </TypeField>
</TypeFields>

TF402588:多个项目组合积压工作 [backlogNames] 已将 [backlogName] 定义为其父级。 父积压工作可能只有一个子积压工作。

只有一个子项目组合积压工作可以映射到单个父积压工作。

编辑 ProcessConfiguration 以更正父子积压工作规范。

错误示例

  <PortfolioBacklog category="Microsoft.EpicCategory" parent="Microsoft.InitiativeCategory" pluralName="Epics" singularName="Epic">
    ...
  </PortfolioBacklog>

  <PortfolioBacklog category="Microsoft.FeatureCategory" parent="Microsoft.InitiativeCategory" pluralName="Features" singularName="Feature">
    ...
  </PortfolioBacklog>

解决方法示例

将功能积压工作上的父级更改为指向 Epic 积压工作。

  <PortfolioBacklog category="Microsoft.EpicCategory" parent="Microsoft.InitiativeCategory" pluralName="Epics" singularName="Epic">
    ...
  </PortfolioBacklog>

  <PortfolioBacklog category="Microsoft.FeatureCategory" parent="Microsoft.EpicCategory" pluralName="Features" singularName="Feature">
    ...
  </PortfolioBacklog>

TF402589:项目组合积压工作 [backlogName] 引用未定义的父项目组合积压工作 [backlogName]

ProcessConfiguration.xml 定义包含引用 parent 未定义的项目组合积压工作的值。

错误示例

  <PortfolioBacklog category="Microsoft.FeatureCategory" parent="Microsoft.EpicCategory" pluralName="Features" singularName="Feature">

解决方法示例

将 Epic PortfolioBacklog 添加到 ProcessConfiguration.xml 文件。

  <PortfolioBacklog category="Microsoft.EpicCategory" pluralName="Epics" singularName="Epic">
    <States>
      <State value="New" type="Proposed" />
      <State value="Active" type="InProgress" />
      <State value="Resolved" type="InProgress" />
      <State value="Closed" type="Complete" />
    </States>
    <Columns>
      <Column refname="System.WorkItemType" width="100" />
      <Column refname="System.Title" width="400" />
      <Column refname="System.State" width="100" />
      <Column refname="Microsoft.VSTS.Common.BusinessValue" width="50" />
      <Column refname="Microsoft.VSTS.CMMI.RequirementType" width="100" />
      <Column refname="System.Tags" width="200" />
    </Columns>
  </PortfolioBacklog>

TF402590:多个项目组合积压工作 [积压工作 1, 积压工作 2] 不定义其父级。

只有一个项目组合积压工作(顶级积压工作)可能没有父母。 所有其他积压工作都必须包括一个 parent="Microsoft.FooCategory" 特性和值。

解决方法示例

  <PortfolioBacklog category="Microsoft.FeatureCategory" parent="Microsoft.EpicCategory" pluralName="Features" singularName="Feature">

402595:定义了过多的项目组合积压工作。 最多允许 5 个。

编辑 ProcessConfiguration.xml 文件以从PortfolioBacklogs节中删除额外的PortfolioBacklog元素。

有关详细信息,请查看 ProcessConfiguration XML 元素参考

TF400506:此元素定义表示 Bug 或缺陷的工作项的状态。

如果分区配置错误,则会发生 BugWorkItems 此错误。 为工作项类型 Microsoft.BugCategory 定义的每个状态都必须存在于节中 BugWorkItems 定义的状态值集中。 例如,如果为 Bug 工作项类型(新建、已批准、已提交、已完成)定义的工作项类型定义了以下状态,BugWorkItems则应按如下所示配置该节:

  <BugWorkItems category="Microsoft.BugCategory" pluralName="Bugs" singularName="Bug">
    <States>
    <States>
      <State value="New" type="Proposed" />
      <State value="Approved" type="Proposed" />
      <State value="Committed" type="InProgress" />
      <State value="Done" type="Complete" />
    </States>
  </BugWorkItems>

有关详细信息,请参阅 ProcessConfiguration XML 元素参考

TF400507:每个工作项类型必须支持一个初始状态值,该值与在:BugWorkItems 中定义的状态之一匹配。

当包含在 ProcessConfiguration XML 文件的节中包含的 Microsoft.BugCategory 工作项类型指定初始状态 BugWorkItems 时,会发生此错误。 修复命名工作项类型的 XML 定义工作流状态,或更新 BugWorkItems 节以包含缺失状态(s)。

有关详细信息,请参阅 ProcessConfiguration XML 元素参考

TF400572:必须为使用此功能配置项目进程设置。

这是由来自 TFS 2010 或早期版本的模板在项目进程设置存在之前造成的。 尝试在升级后运行“配置”功能以解析,或将 ProcessConfiguration XML 文件添加到进程模板。

工作项类型

TF402570:已定义 [n] 工作项类型。 最多 允许 [witLimit]

你定义了在此过程中允许的更多 WIT。 查看 WorkItems.xml 文件,并减少它包含的 WORKITEMTYPE 语句数,并从进程中删除关联的 WIT 定义文件。

TF402573:工作项类型 WIT 未指定必需的 refname 属性。

工作项类型(Bug、用户情景、任务等)需要属性 refname 。 refname 值必须是唯一的,并且不能包含任何保留的命名空间。 namespaces-System。XXX 和 Microsoft.VSTS。XXX 由 Azure DevOps 保留。

有关详细信息,请参阅 所有 WITD XML 元素参考

错误示例

<WORKITEMTYPE name="Bug">

解决方法示例

<WORKITEMTYPE name="Bug" refname="MyCompany.Bug">

TF402599:工作项类型 refname [refName] 无效,因为它使用不允许的命名空间 [namespace]。

自定义字段和 WIT 的引用名称不能使用保留命名空间:系统。XXX 和 Microsoft.VSTS。XXX.

refname编辑命名 WIT 的属性。

错误示例

<FIELD name="Custom Field" refname="Microsoft.VSTS.CustomField" type="String" />

解决方法示例

<FIELD name="Custom Field" refname="*CustomNamespace.CustomField*" type="String" />

TF402600:工作项类型引用名称 [refName] 无效。 工作项类型引用名称必须仅包含字母、无空格和至少一个句点(.)

WIT 引用名称必须遵循已建立的命名约定:仅字母、无空格和至少一个句点(.)

refname编辑命名 WIT 的属性以满足命名要求。

错误示例

<WORKITEMTYPE name="Bug" refname="MyCompanyBug32">

解决方法示例

<WORKITEMTYPE name="Bug" refname="MyCompany.Bug">

工作项字段

TF402538:不支持字段规则 [ruleName]。

编辑 WIT 定义以删除命名规则。 导入到 Azure DevOps 不支持以下规则MATCHCANNOTLOSEVALUEPROHIBITEDVALUESNOTSAMEAS

TF402539:字段 [refName] 仅允许以下规则: [ruleNames]

编辑命名字段的 WIT 定义,并删除任何不允许的规则。 查看这两FIELDS个部分。WORKFLOW 大多数系统字段都不允许指定规则。

用于系统字段的有效规则

名称 允许的规则
System.Title REQUIRED, DEFAULT
System.Description REQUIRED, DEFAULT
System.AssignedTo REQUIRED、、DEFAULTALLOWEXISTINGVALUE、、VALIDUSER
System.ChangedBy REQUIRED、、DEFAULTALLOWEXISTINGVALUE、、VALIDUSER

TF402540:工作项类型 [witName] 无效,因为它指定全局列表 [GLOBALLIST]。 不支持全局列表。

VSTS 不支持全局列表。 将所有元素实例 GLOBALLIST 替换为 ALLOWEDVALUES 所有 WIT 定义文件中的元素和 LISTITEM 元素。 参考: 定义选取列表

错误示例

<FIELD name="CustomField" refname="MyCompany.CustomField" type="String">
  <ALLOWEDVALUES>
    <GLOBALLIST name="Disciplines" />
  </ALLOWEDVALUES>
</FIELD>

解决方法示例

<FIELD name="CustomField" refname="MyCompany.CustomField" type="String">
  <ALLOWEDVALUES>
    <LISTITEM value="Architecture" />
    <LISTITEM value="Requirements" />
    <LISTITEM value="Development" />
    <LISTITEM value="Release Management" />
    <LISTITEM value="Project Management" />
    <LISTITEM value="Test" />
  </ALLOWEDVALUES>
</FIELD>

TF402541:工作项类型 [witName] 无效,因为它引用全局列表 [globalListName]。 不支持全局列表。

VSTS 不支持全局列表。 将所有元素实例 GLOBALLIST 替换为 ALLOWEDVALUES 所有 WIT 定义文件中的元素和 LISTITEM 元素。 参考: 定义选取列表

错误示例

<FIELD name="CustomField" refname="MyCompany.CustomField" type="String">
  <ALLOWEDVALUES>
    <GLOBALLIST name="Disciplines" />
  </ALLOWEDVALUES>
</FIELD>

解决方法示例

<FIELD name="CustomField" refname="MyCompany.CustomField" type="String">
  <ALLOWEDVALUES>
    <LISTITEM value="Architecture" />
    <LISTITEM value="Requirements" />
    <LISTITEM value="Development" />
    <LISTITEM value="Release Management" />
    <LISTITEM value="Project Management" />
    <LISTITEM value="Test" />
  </ALLOWEDVALUES>
</FIELD>

TF402542:自定义字段 refname [refName] 无效,因为它使用不允许的命名空间 [namespace ]

namespaces-System。XXX 和 Microsoft.VSTS。在 VSTS 中保留 XXX。 自定义字段和类型的引用名称不能使用这些命名空间。

若要修复此错误,请重命名 refname WIT 定义文件中出现的命名字段的属性。

错误示例

<FIELD name="CustomField" refname="System.CustomField" type="String" />

  - OR - 

<FIELD name="CustomField" refname="Microsoft.VSTS.CustomField" type="String" />

解决方法示例

<FIELD name="CustomField" refname="MyCompany.CustomField" type="String" />

TF402544:在工作项类型 [witName] 中定义的字段 [refName],需要包含ALLOWEDVALUES值的规则来支持 ProcessConfiguration 中指定的元素 [elementName]。

编辑命名 WIT 中的命名字段以提供缺失 ALLOWEDVALUES 的规则,并引用命名元素以获取更多详细信息。

ProcessConfiguration.xml 文件元素 TypeField refname="Microsoft.VSTS.Common.Activity" type="Activity"需要为属于任务类别的所有 WIT 中的 Microsoft.VSTS.Common.Activity 字段定义选取列表。

<TypeField refname="Microsoft.VSTS.Common.Activity" type="Activity" />

如果已将 bug 添加到任务类别,则必须确保 Bug.xml 文件包含命名字段,并指定与 Task.xml 文件中定义的相同选取列表。

错误示例

Bug.xml 定义了字段,但未定义选取列表。

      <FIELD name="Activity" refname="Microsoft.VSTS.Common.Activity" type="String" reportable="dimension">
        <HELPTEXT>Type of work involved</HELPTEXT>
      </FIELD> 

解决方法示例

更正了 Bug.xml

      <FIELD name="Activity" refname="Microsoft.VSTS.Common.Activity" type="String" reportable="dimension">
        <HELPTEXT>Type of work involved</HELPTEXT>
        <SUGGESTEDVALUES>
          <LISTITEM value="Development"/>
          <LISTITEM value="Testing"/>
          <LISTITEM value="Requirements"/>
          <LISTITEM value="Design"/>
          <LISTITEM value="Deployment"/>
          <LISTITEM value="Documentation"/>
        </SUGGESTEDVALUES>
      </FIELD>

TF402545:元素 [elementName] 要求在工作项类型 [witName] 的定义中包含字段 [fieldName]。

应在 ProcessConfiguration.xml 文件的节中指定的AddPanel每个field命名 WIT 定义中包含相应的FIELD元素。
还应在命名 WIT 的节中包含FORM一个Control元素。

错误示例

ProcessConfiguration.xml 指定两个自定义字段。 但是,这些字段未在 UserStory.xml 文件中定义。

<AddPanel>
   <Fields>
      <Field refname="System.Title" />
      <Field refname="Fabrikam.Product" />
      <Field refname="Fabrikam.Technology" />
   </Fields>
</AddPanel>

解决方法示例

缺少 FIELD 添加到 UserStory.xml 文件的元素。

      <FIELD name="Product" refname="Fabrikam.Product" type="String" reportable="dimension">
     <FIELD name="Technology" refname="Fabrikam.Technology" type="String" reportable="dimension"> 

若要支持 ProcessConfiguration 元素 [elementName],工作项类型 [witName] 必须定义 TypeField [typeField] (field refname [refName])。

在 ProcessConfiguration 中创建的 TypeField with TypeFieldValues. 在工作项类型中,必须引用同一项 TypeField

错误示例

ProcessConfiguration.xml

  <TypeField refname="Custom.ApplicationType" type="ApplicationType">
    <TypeFieldValues>
      <TypeFieldValue value="Web application" type="WebApp" />
      <TypeFieldValue value="Remote machine" type="RemoteMachine" />
      <TypeFieldValue value="Client application" type="ClientApp" />
    </TypeFieldValues>
  </TypeField>  

FeedbackRequest.xml 使用 Microsoft.VSTS.Feedback.ApplicationType 字段时,应使用 Custom.ApplicationType 字段。

  <FIELD name="Application Type" refname="Microsoft.VSTS.Feedback.ApplicationType" type="String">
    ...
  </FIELD>

解决方法示例

FeedbackRequest.xml

  <FIELD name="Application Type" refname="Custom.ApplicationType" type="String">
    ...
  </FIELD>

TF402556:要正确定义字段 [refName] ,必须将其 命名为 [fieldName] ,并将其类型设置为 [fieldType]。 提供的 [refName][fieldName] 且类型为 [fieldType]

如果位于本地服务器并运行 tfsMigrator,则当进程过期且系统字段未正确定义时,通常会生成此错误。 在大多数情况下,需要使用 witadmin /changefield 命令来正确重命名字段。

保留字段的示例

保留系统。XXX 和 Microsoft.VSTS。XXX 字段具有必需的名称和类型值。

字段 名称 类型
System.Id ID Integer
System.Title 标题 字符串
Microsoft.VSTS.Schedule.StoryPoints 故事点 Double
Microsoft.VSTS.Schedule.RemainingWork 剩余工作 双精度
Microsoft.VSTS.Scheduling.OriginalEstimate 原始估算 双精度
Microsoft.VSTS.Schedule.CompletedWork 已完成工作 双精度

错误示例

TF402556:要正确定义字段 Microsoft.VSTS.TCM.ReproSteps,必须将其命名为“重现步骤”并将其类型设置为 HTML。 提供的 Microsoft.VSTS.TCM.ReproSteps 是“我的重现步骤”,类型为 HTML。

在 Bug.xml 中,友好字段名称已更改为“我的重现步骤”。

  <FIELD name="My Repro Steps" refname="Microsoft.VSTS.TCM.ReproSteps" type="HTML">
    <HELPTEXT>How to see the bug. End by contrasting expected with actual behavior.</HELPTEXT>
  </FIELD> 

解决方法示例

Bug.xml

  <FIELD name="Repro Steps" refname="Microsoft.VSTS.TCM.ReproSteps" type="HTML">
    <HELPTEXT>How to see the bug. End by contrasting expected with actual behavior.</HELPTEXT>
  </FIELD> 

TF402557:以下工作项类型中存在字段 [refName] 的不一致定义: [witName]。 确保对字段的所有引用具有相同的 RefNameNameType

FIELD 具有相同友好名称的字段的元素定义必须在 WIT 中保持一致。 检查以确保refname命名字段的每个 WIT 定义中的和nametype属性相同。

错误示例

Bug.xml

  <FIELD name="Hair Color" refname="MyCompany.CustomFields.HairColor" type="String" reportable="dimension" />

UserStory.xml

  <FIELD name="Hair Color 2" refname="MyCompany.CustomFields.HairColor" type="Double" reportable="dimension" />

请注意, name 该属性与 type Bug.xml 工作项类型中的属性不同

解决方法示例

Bug.xml

  <FIELD name="Hair Color" refname="MyCompany.CustomFields.HairColor" type="String" reportable="dimension" />

UserStory.xml

  <FIELD name="Hair Color" refname="MyCompany.CustomFields.HairColor" type="String" reportable="dimension" />

TF402558:字段 [refName] 的定义与以下模板中字段的现有定义不一致: [templateNames]

必须在已导入到 Azure DevOps Services 的流程中一致地定义字段。 系统不允许导入一个进程, FIELD 其中包含在进程 A 中以一种方式定义的元素,在进程 B 中以另一种方式定义。所有 FIELD 元素属性必须匹配。

示例

处理 A、Bug.xml

  <FIELDS>  
    ...   
    <FIELD name="Foo" refname="MyCompany.CustomFields.Foo" type="String" reportable="dimension" />
    ...
  </FIELDS>

进程 B、Bug.xml

  <FIELDS>  
    ...   
    <FIELD name="Bar" refname="MyCompany.CustomFields.Foo" type="Double" reportable="dimension" />
    ...
  </FIELDS>

请注意如何为 name 属性指定不同的值和 type 属性。

解决方法

确保在同一进程的所有进程中都定义相同的 refname 字段
已导入或计划导入到 Azure DevOps Services。

TF402559:字段 [refName] 的定义与现有字段不一致。 为 type[typeName] ,但应为 [typeName]

编辑包含命名字段的 WIT 文件,以确保指定 type 属性值在所有 WIT 中保持一致。

TF402562:已为工作项类型 [witName] 定义 [n] 字段。 仅 允许 [fieldLimit]

已为工作项类型 [witName] 定义 [n] 字段。 仅 允许 [fieldLimit] 。 在单个 WIT 中,只能指定指定的字段数。

编辑命名的 WIT 并删除额外的自定义字段,以减少允许限制内的字段总数。

TF402563:已为所有工作项类型定义 总共 [n] 字段。 仅 允许 [fieldLimit]

你已为进程中定义的所有 WIT 定义了 [n] 字段。 仅 允许 [fieldLimit] 。 这包括系统。XXX 和 Microsoft.VSTS。XXX 命名空间字段和自定义字段。

FIELDS查看和WORKFLOW节并确定要删除的自定义字段。

TF402566:已为工作项类型 [witName] 定义 [n] 字段规则。 允许的最大 [ruleLimit]

你已为命名 WIT 定义了 [n] 字段规则,该规则超出了任何一个 WIT 允许的字段规则数。

编辑命名的 WIT 并删除额外的字段规则,以减少允许限制内的字段总数。

TF402568:已为工作项类型 [witName] 定义 [syncnamechanges="true"n] 字段。 最多允许 64 个。

为命名 WIT 定义的字段 syncnamechanges="true" 数超过了允许的限制。 这包括系统。XXX 和 Microsoft.VSTS。XXX 命名空间字段和自定义字段。

FIELDS查看命名 WIT 的节,并确定要删除或修改的自定义字段。

示例

  <FIELD name="Assigned To" refname="System.AssignedTo" type="String" reportable="dimension" syncnamechanges="true" >
    ...
  </FIELD>

TF402569:已在工作项类型 [witName] 中为字段 [fieldName] 定义 [n] 值。 最多 允许 [listLimit]

为命名 WIT 中命名字段定义的元素数 LISTITEM 超过了允许的限制。

编辑命名的 WIT 以减少元素数,以免超出允许的LISTITEM 最大值。

示例

  <FIELD name="Favorite Color" refname="MyCompany.CustomFields.FavColor" type="String" reportable="dimension">
    <ALLOWEDVALUES>
      <LISTITEM value="Color1" />
      <LISTITEM value="Color2" />
      <LISTITEM value="Color3" />
      . . . 
    </ALLOWEDVALUES>
  </FIELD>

请注意,bug 和用户情景 refname 值不同。

TF402584:不支持字段规则属性“for”或“not”。

任何导入到 Azure DevOps Services 的字段规则都不支持此属性 "for""not" 属性。
FIELDS查看和WORKFLOW部分是否存在"for"属性并"not"删除它们。

错误示例

<FIELD name="Title">
  <READONLY for="Dev Team" not="Test Team" />
</FIELD>

解决方法示例

<FIELD name="Title">
  <READONLY />
</FIELD>

TF402593:字段 [fieldName]不支持字段规则。

大多数 System 和 Microsoft.VSTS 字段不支持规则。 有关支持字段规则的完整列表,请参阅 规则和规则评估

编辑包含命名字段的工作项类型的定义文件,并删除为其指定的字段规则。

TF402602:字段 [refName] 必须恰好具有这些值 [values ]

由保留命名空间-系统中的 VSTS 定义的所有字段。XXX 和 Microsoft.VSTS。不得更改 XXX。 如果要在这些选取列表字段中具有不同的值列表,请定义自己的自定义字段。

错误示例

Bug.xml 定义了优先级字段,但值列表与预期值列表不同。

      <FIELD name="Priority" refname="Microsoft.VSTS.Common.Priority" type="Integer" reportable="dimension">
        <ALLOWEDVALUES expanditems="true">
          <LISTITEM value="0"/>
          <LISTITEM value="1"/>
          <LISTITEM value="2"/>
        </ALLOWEDVALUES>
        <DEFAULT from="value" value="2" />
      </FIELD>

解决方法示例

更正了 Bug.xml,包括新字段

      <FIELD name="Priority" refname="Microsoft.VSTS.Common.Priority" type="Integer" reportable="dimension">
        <HELPTEXT>Business importance. 1=must fix; 4=unimportant.</HELPTEXT>
        <ALLOWEDVALUES expanditems="true">
          <LISTITEM value="1"/>
          <LISTITEM value="2"/>
          <LISTITEM value="3"/>
          <LISTITEM value="4"/>
        </ALLOWEDVALUES>
        <DEFAULT from="value" value="2" />
      </FIELD>

      <FIELD name="Custom Priority" refname="Custom.Priority" type="Integer" reportable="dimension">
        <HELPTEXT>Business importance. 1=must fix; 4=unimportant.</HELPTEXT>
        <ALLOWEDVALUES expanditems="true">
          <LISTITEM value="0"/>
          <LISTITEM value="1"/>
          <LISTITEM value="2"/>
        </ALLOWEDVALUES>
        <DEFAULT from="value" value="2" />
      </FIELD>

VS402504:找不到 用户或组 [project]\Group Name。 验证工作项类型定义中使用的用户和组是否存在。

不支持自定义项目范围组。 只能引用帐户级别的作用域组。

错误示例

Bug.xml 引用项目范围组。

... "[project]\Organization Leaders"

解决方法示例

创建新的帐户(集合)级别组“组织领导”,并在 XML 中相应地引用它。

... "[global]\Organization Leaders"

注意

在导入过程找到之前,新创建的全局组可能需要一些时间。

TF237094:字段“[fieldName]”使用字段名称“[fieldName]”,因此不能由字段“[refName]”使用。

字段名称已存在于其他字段中具有相同名称。 更改字段的名称。

错误示例

TF237094: Field name 'External ID' is used by the field 'Custom.ExistingField.ExternalID', so it cannot be used by the field 'Custom.NewField.ExternalID'.

解决方法示例

更改 Custom.NewField.ExternalID 的字段名称

<FIELD name="External ID" refname="Custom.NewField.ExternalID" type="string" reportable="dimension" />

工作项布局

VS403104:工作项类型 [witName] 引用所有布局中不包含的必需字段 [refName]。

如果在节点中 <Layout> 引用的工作项类型中具有必需字段,但未引用该字段, <WebLayout>则会生成此警告。 用于 <WebLayout> 修改新窗体的布局。 有关详细信息,请参阅 WebLayout xml 参考

VS403073:组和 <Group Name>:违反规则,即组只能包含标签控件之前的单个 HTML 或 WebPage 控件。

在新窗体布局中,组只能包含一个 HTMLFieldControl 或 WebPageControl。

错误示例

<Section>
    <Group Label="Description:">
        <Control Label="Reason For Request:" Type="HtmlFieldControl" FieldName="System.Description" />
        <Control Label="Business Case For Request:" Type="HtmlFieldControl" FieldName="MB.BusinessCase" />
    </Group>
</Section>

若要解决此问题,请创建两个单独的组,每个组包含一个控件。

解决方法示例

<Section>
    <Group Label="Reason for Request">
        <Control Label="Reason For Request:" Type="HtmlFieldControl" FieldName="System.Description" />       
    </Group>
    <Group Label="Business Case">
        <Control Label="Business Case For Request" Type="HtmlFieldControl" FieldName="Custom.BusinessCase" />       
    </Group>
</Section>

错误示例

  <Control Type="FieldControl" FieldName="customfield.foo" Label="Foo" LabelPosition="Left">
    <Link UrlRoot="http://www.visualstudio.microsoft.com/team-services/" />
  </Control>

解决方法示例

  <Control Type="FieldControl" FieldName="System.Title" LabelPosition="Left" Label="Title 1"  
    <LabelText>  
        <Text>  
          <Link UrlRoot="http://www.visualstudio.microsoft.com/team-services/" />  
              Title 2  
        </Text>  
    </LabelText>  
  </Control>  

工作流定义

TF402567:已为工作项类型 [witName] 定义 [n] 工作流状态。 允许的最大 [stateLimit]

已为命名 WIT 定义了 [n] 工作流状态,该状态超过了任意一个 WIT 允许的工作流状态数。

WORKFLOW编辑命名 WIT 的节并删除额外的STATE元素,以减少允许的限制内的状态总数。

TF402578:字段 [refName] 指定已由字段 [refName] 使用的友好名称 [friendlyName]。 在所有字段定义中,友好名称必须是唯一的。

字段名称在工作项类型中必须是唯一的。

错误示例

  <FIELD name="Foo" refname="MyCompany.CustomFields.Foo" type="String" reportable="dimension" />
  <FIELD name="Foo" refname="MyCompany.CustomFields.Bar" type="String" reportable="dimension" />

请注意,有两个具有名称的字段 <FIELD name="Foo"

解决方法示例

  <FIELD name="Foo" refname="MyCompany.CustomFields.Foo" type="String" reportable="dimension" />
  <FIELD name="Bar" refname="MyCompany.CustomFields.Bar" type="String" reportable="dimension" />

TF402579: 名称 [friendlyName] 在以下工作项类型的不同字段中多次使用: [witNames]。 字段的名称在项目集合中必须是唯一的。

引用相同的 refname="MyCompany.FieldName" 字段必须具有相同的友好名称 FIELD name="fieldname" 值。

错误示例

处理 A、Bug.xml

  <FIELD name="Foo" refname="MyCompany.CustomFields.Foo" type="String" reportable="dimension" />  

进程 B、Bug.xml

  <FIELD name="Bar" refname="MyCompany.CustomFields.Foo" type="String" reportable="dimension" />  

由于这两个字段共享相同的引用名称, refname="MyCompany.CustomFields.Foo"因此它们还必须在导入或将导入到 Azure DevOps Services 的所有进程中指定相同的友好名称 <FIELD name="Foo"

TF402580:只能对单个工作项类型使用名称 [witName]。

WIT 友好名称 WORKITEMTYPE name="Name" 在进程中必须是唯一的。

错误示例

我的工作项 A.xml

  <WORKITEMTYPE name="My Work Item" refname="My.MyWorkItemA">

我的工作项 B.xml

  <WORKITEMTYPE name="My Work Item" refname="My.MyWorkItemB">

请注意这 WORKITEMTYPE name= 两种工作项类型的相同。

解决方法示例

我的工作项 A.xml

  <WORKITEMTYPE name="My Work Item A" refname="My.MyWorkItemA">

我的工作项 B.xml

  <WORKITEMTYPE name="My Work Item B" refname="My.MyWorkItemB">

TF402581:只能将 refname [refName] 用于单个工作项类型。

WIT 引用名称 refname="value" 必须在进程中是唯一的。

错误示例

Bug.xml

  <WORKITEMTYPE name="Bug" refname="MyCompany.Name">

UserStory.xml

  <WORKITEMTYPE name="User Story" refname="MyCompany.Name"> 

请注意这两个 refname 值都等于“MyCompany.Name”

解决方法示例

Bug.xml

  <WORKITEMTYPE name="Bug" refname="MyCompany.Bug">

UserStory.xml

  <WORKITEMTYPE name="User Story" refname="MyCompany.UserStory"> 

TF402582:工作项类型 [witName] 包含不支持的自定义控件 [controlName]。

Azure DevOps Services 不支持自定义控件。 FORM查看命名 WIT 的部分,并删除已定义的任何自定义控件。

错误示例

Type="OneViewMultiValueControl" 指定自定义控件。 必须将其删除或替换为受支持的控件。

    <Group Label="Engineering Alignment">
        <Column PercentWidth="100">
            <Control FieldName="Fabrikam.Content.Product" Type="FieldControl" Label="Product" LabelPosition="Left" />
            <Control FieldName="Fabrikam.Content.Release" Type="FieldControl" Label="Milestone" LabelPosition="Left" />
            <Control FieldName="Fabrikam.Content.Technology" Type="FabrikamMultiValueControl" Label="Technology" LabelPosition="Left" />
        </Column>
    </Group>

测试管理插件错误

TestManagement.xml 文件位于测试管理文件夹中,必须符合“定义测试管理器的初始配置”中所述的语法和规则。

TF402533:TestManagement 插件中的元素“[elementName]”缺少 'fileName' 该属性。

将缺少的属性添加到 TestManagement.xml 文件中的命名元素。

TF402534:TestManagement 插件包含不受支持的任务“[taskName]

更正 TestManagement.xml 文件中的命名任务。

错误示例

元素 TestResolutionStates 拼写错误。

    <taskXml>
      <TestResolutionSattes fileName="Test Management\TestResolutionState.xml" />
    </taskXml>

解决方法示例

更正了拼写错误。

    <taskXml>
      <TestResolutionStates fileName="Test Management\TestResolutionState.xml" />
    </taskXml>