过期明信片 发表于 2013-1-2 23:08:57

TFS 二次开发之 项目连接和工作项查询

<div id="cnblogs_post_body">
   
[*]class Program   
[*]{   
[*]   
//本示例包含了如何访问项目列表,以及如何查询各项目的工作项,并且编辑工作项。   
[*]   
static      
void Main(string[] args)   
[*]{   
[*]NetworkCredential cre = new NetworkCredential(user, password);//初始化用户   
[*]TfsTeamProjectCollection tpc = new TfsTeamProjectCollection(   
[*]   
new Uri("http://ip:8080/DefaultCollection"),cre);   
[*]tpc.Authenticate();   
[*]WorkItemStore workItemStore = (WorkItemStore)tpc.GetService(typeof(WorkItemStore));//GetService得到各种服务,包括工作项、版本控制等   
[*]   
//打印所有项目   
[*]   
foreach (Project item in workItemStore.Projects)   
[*]{   
[*]Console.WriteLine(item.Name);   
[*]}   
[*]   
//特有的Wilq查询,2008和2010还不一样   
[*]WorkItemCollection queryResults = workItemStore.Query(   
[*]   
"Select From WorkItems Where ='工作管理'"+   
[*]   
" and = '任务' and ='活动的' "+   
[*]   
"Order By Asc, Desc");   
[*]WorkItem ad = queryResults;   
[*]ad.Fields["指派给"].Value = "某某某";   
[*]   
//验证工作项的各字段是否有效,如果save出错,则可通过此方式验证哪出错   
[*]ArrayList ar = ad.Validate();   
[*]   
foreach (var item in ar)   
[*]{   
[*]Console.WriteLine(item.ToString());   
[*]}   
[*]ad.Save();   
[*]   
//工作项的字段信息   
[*]FieldCollection fl = ad.Fields;   
[*]   
foreach (Field item in fl)   
[*]{   
[*]Console.WriteLine(item.Name);   
[*]}   
[*]   
[*]Console.WriteLine(ad.Title);   
[*]Console.WriteLine(queryResults.Count);   
[*]Console.ReadKey();   
[*]}   
[*]}
页: [1]
查看完整版本: TFS 二次开发之 项目连接和工作项查询