准备工作:
添加Microsoft.TeamFoundation.*等4个库到引用
花了一天时间才研究明白,如何通过tfs api 进行初始的项目连接,工作项查询等。后续工作是研究如何通过code进行版本控制等。
添加Microsoft.TeamFoundation.*等4个库到引用
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 [System.Title] From WorkItems Where [System.Teamproject]='工作管理'"+
" and [System.WorkItemType] = '任务' and [System.State]='活动的' "+
"Order By [System.State] Asc, [System.ChangedDate] Desc");
WorkItem ad = queryResults[22];
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();
}
}
花了一天时间才研究明白,如何通过tfs api 进行初始的项目连接,工作项查询等。后续工作是研究如何通过code进行版本控制等。