TFS 2017.3导入WITD时遇VS403073错误的技术咨询
TFS 2017.3 WITD导入错误VS403073问题解答
1) 这些样式与架构规则的官方文档在哪里?
其实这个规则确实在微软公开文档里比较隐蔽,不像基础规则那样有单独的条目说明。不过你可以通过这几个途径确认规则细节:
- 首先,
witadmin importwitd命令返回的错误提示本身就是最直接的规则说明,这类导入时的验证规则很多是内嵌在TFS的WIT架构验证引擎里的,文档上可能没有逐条罗列,但错误信息会明确指出约束条件。 - 其次,使用Visual Studio内置的工作项类型设计器时,如果你尝试违反这个规则(比如在同一个组里加多个HTML控件,或者把HTML控件放在标签前面),设计器会实时弹出验证警告,这也是规则的直观体现。
- 另外,在微软关于TFS自定义工作项类型的进阶指南里,虽然没有单独把这条规则拎出来,但所有官方提供的WITD示例中,HTML控件都是单个出现在组内,且位于标签控件之后,这也是一种隐含的规则参考。
2) 如何在同一个组内保留多个FieldControl和一个HTMLFieldControl?
根据错误提示的规则,你只需要满足两个核心条件就能解决问题:
- 确保当前组内只有一个HTMLFieldControl(或WebPageControl),不要在同一个组里添加第二个富文本类控件
- 把这个HTMLFieldControl放在组内所有Label控件的后面,FieldControl的位置相对灵活,可以放在Label之前或之后,只要HTML控件在Label之后就行
举个简单的WITD片段示例:
<Group Label="核心信息"> <Control Type="FieldControl" FieldName="System.Title" Label="标题" /> <Control Type="FieldControl" FieldName="System.AssignedTo" Label="负责人" /> <!-- 标签控件之后放HTML控件 --> <Control Type="HTMLFieldControl" FieldName="MyCompany.Description" Label="详细描述" /> </Group>
如果你的组里没有Label控件,那需要至少添加一个(哪怕是用于占位的标签),再把HTML控件放在它后面,这样就能通过验证了。要是你需要多个富文本控件,那只能把它们拆分到不同的组中,每个组单独放一个HTML控件并遵循同样的规则。
内容的提问来源于stack exchange,提问作者IronGem
相关产品推荐
相关产品推荐

