如何彻底删除TFS的工作项字段
TFS的工作项字段可以在所有工作项类型之间共享。例如自定义了一个字段“验证迭代”(Mycompany.IterationValidation)那么在需求、Bug中都可以添加这个字段;同样在其他工作项中不能再定义一个同名的新的字段“验证迭代”。一旦已经定义并在TFS的工作项中使用了字段,这个字段便会被TFS定义到了数据库的结构中,不能随意删除。即使管理员在工作项定义中删除了该字段,与这个字段相关的数据和结果都还保留在数中,你会发现当你重新将这个字段添加回工作项中时,原来的数据还存在。
当你需要重新命名一个字段时,则需要我们彻底删除工作项字段,然后再重新创建这个同名的字段。
那么如何彻底的删除TFS的工作项字段呢,这里必须使用TFS的工作项命令工具Witadmin.exe。由于彻底删除工作项字段会永久删除这个字段保存的信息,因此我们一般需要通过以下几个步骤,确保安全删除。
1. 查询字段被哪些工作项使用了
| witadmin listfields /collection:http://tfs2015cn:8080/tfs/defaultcollection /n:Mycompany.IterationValidation |

上面的命令查询出来了字段被引用的工作项类型和团队项目
2. 通过TFS Power Tools 或者命令方式从TFS工作项中删除这个字段。注意,如果页面中显示了字段,也需要一并删除。

3. 重新运行上面的命令,确保没有工作项引用的该字段,如下图:

我们会发现,即使删除了这个字段,但是在工作项查询中还是看到之前存储的数据,如下图:

4. 下面我们就可以彻底删除这个字段了
| witadmin deletefield /collection:http://tfs2015cn:8080/tfs/defaultcollection /n:Mycompany.IterationValidation |
此时刷新查询,你会发现系统提示字段不存在的错误信息,如下图

通过上面的操作,我们已经从TFS中永久性的删除了这个字段。如果我们使用之前备份的工作项定义XML文件,导入到系统中,会发现字段已经重新创建,但是数据已经永久性被删除了。
我们可以通过上面的方法实现字段的删除、更名、更改字段类型等用途。
http://www.cnblogs.com/danzhang/ ALM MVP 张洪君
如何彻底删除TFS的工作项字段的更多相关文章
- 如何自定义TFS中工作项的字段20141010
如何自定义TFS中工作项的字段 我们以VS2013为例,TFS也是2013版本的: 1. 安装小插件 需要安装Visual Studio Team Foundation Server 2013 Pow ...
- TFS中工作项的定制-修改面板
上一篇文章我们讲到了<TFS 中工作项的订制-修改工作流>,工作流只要我们设计出来,就可以进行定制修改了.这次通过简单的案例,了解一下,工作项的面板如何定制. 1.软件准备 ...
- TFS中工作项的定制- 字段功能定义
参考,翻译此页面All FIELD XML Elements Reference(http://msdn.microsoft.com/en-us/library/ms194953.aspx) 对于每一 ...
- TFS 中工作项的定制-修改工作流
我们都会用到TFS中的工作项.一般来说,最主要的会用到任务.bug这些工作流来进行项目管理里.但我们发现,实际上,有些模板中的工作流并不能完全符合我们的需要,因此我们会进行工作流的定制操作.下面就会通 ...
- TFS实现需求工作项自动级联保存
目前在一个大型的金融客户软件研发平台项目实施和支持过程中,客户的质量管理团队基于该平台以及结合其它的平台数据,针对需求管理和业务过程需要拟定了一套完整的需求提出.评审.设计以及实现的流程.基于这套流程 ...
- Azure DevOps Server (TFS) 修改工作项附件大小限制
1. 问题描述 当上传工作项附件时,系统提示"附件大小限制" 2.解决方案 2.1 默认设置 默认情况下,Azure DevOps Service和Team Foundation ...
- #VSTS日志# 2015/12/10 – 终于可以删除工作项了
最近的更新不少,废话少说,直接上干货 定制工作项字段 本周的更新后,所有的用户都可以在vsts上直接给工作项添加字段了,具体内容包括– 添加新字段(日期,字符串,整形,数字)– 字段显示位置配置– 过 ...
- 在定制工作项时,把“团队项目”作为变量获取生成版本信息
有用户最近提出这个需求: 通过工作项定制,新增一个字段用以保存项目Bug的"影响版本"信息,但是需要从当前团队项目的服务器生成纪录中获取版本的选项,类似默认模板中的"发现 ...
- 从TFS 删除工作项
一.进入命令执行窗口的方式 1.若你的TFS服务器上安装了VS开发工作,可以按以下步骤,进入命令行方式,图如下: 2.若你TFS上没有安装VS开发工作,可以从你的开发机器上的VS安装目录下(一般情况下 ...
随机推荐
- Bootstrap-Plugin:提示工具(Tooltip)插件
ylbtech-Bootstrap-Plugin:提示工具(Tooltip)插件 1.返回顶部 1. Bootstrap 提示工具(Tooltip)插件 当您想要描述一个链接的时候,提示工具(Tool ...
- Chrome经常新标签页打开http://destyy.com/qNHR3u
经常新标签页打开http://destyy.com/qNHR3u网址. 在历史记录里查询 chrome://history/?q=destyy.com ,发现最早访问是25日10点34分05.貌似那个 ...
- mysql-5null值处理
值为null遇到的问题: 1.使用select对数据进行处理时,如果有格值为null,该命令会无法正常工作.如示例一 2.使用where限定条件时,null值不能处理.如示例二 -- 新建一张表,并填 ...
- Autofac容器使用属性进行WebApi自动注入
背景 使用Autofac进行依赖注入时,经常遇到的场景是在容器中进行类似如下代码的注入操作: builder.RegisterType<BackInStockSubscriptionServic ...
- 《Linux内核精髓:精通Linux内核必会的75个绝技》一HACK #12 使用Memory Cgroup限制内存使用量
HACK #12 使用Memory Cgroup限制内存使用量 Memory Cgroup是Cgroup的资源限制功能之一,可以控制特定进程可以使用的内存量.Memory CgroupMemory C ...
- 8种常被忽视的SQL错误用法
作者:一杯甜酒 原文:https://blog.csdn.net/u012562943/article/details/71403500 sql语句的执行顺序: FROM <left_table ...
- 【333】Python3.6 格式化文本
看如下例子进行体会: min_temperature = 0 max_temperature = 300 step = 20 # \t: A tab print('Fahrenheit\tCelsiu ...
- blocking network call
[blocking network call] 阻塞的网络调用: 1.gethostbyname(): does not return until it has succeeded or failed ...
- java基础一(阅读Head First Java记录)
写在前面的话 在实际应用java中,因为没有系统去看过书或者学习过,所以基础薄弱,刚好这本书是比较入门级的一些书,记录一下下面的一些基本概念,以方便自己来学习.当然如果对大家有帮助也是很好的. 因为书 ...
- 77. Combinations (Recursion)
Given two integers n and k, return all possible combinations of k numbers out of 1 ... n. For exampl ...