这里有一些代码可以帮助更新工作项。另外,请尝试[此链接][1]以获取更多信息。
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.TeamFoundation.Client;
using Microsoft.TeamFoundation.WorkItemTracking.Client;
namespace WorkItemTrackingSample2
{
class Program
{
static void Main(string[] args)
{
// Connect to the server and the store.
TeamFoundationServer tfs = TeamFoundationServerFactory.GetServer("YourTfsServerNameHere");
WorkItemStore workItemStore = (WorkItemStore)tfs.GetService(typeof(WorkItemStore));
// Get a specific WorkItem from the store.
// Replace "12345" with a WorkItem ID appropriate for testing.
WorkItem workItem = workItemStore.GetWorkItem(12345);
// Save the existing Priority so we can restore it later.
int oldPriority = (int)workItem.Fields["Priority"].Value;
// Set the Priority to an arbitrarily high number.
workItem.Fields["Priority"].Value = 9999;
// Display the results of this change.
if (workItem.IsDirty)
Console.WriteLine("The workItem has changed, but has not been saved.");
if (workItem.IsValid() == false)
Console.WriteLine("The workItem is not valid.");
if (workItem.Fields["Priority"].IsValid == false)
Console.WriteLine("The workItem's Priority field is not valid.");
// Tries to save the invalid WorkItem.
try
{
workItem.Save();
}
catch (ValidationException)
{
Console.WriteLine("The workItem threw a ValidationException.");
}
// Set the priority to a more reasonable number.
if (oldPriority == 1)
workItem.Fields["Priority"].Value = 2;
else
workItem.Fields["Priority"].Value = 1;
// If the WorkItem is valid, saves the changed WorkItem.
if (workItem.IsValid())
{
workItem.Save();
Console.WriteLine("The workItem saved this time.");
}
// Restore the WorkItem's Priority to its original value.
workItem.Fields["Priority"].Value = oldPriority;
workItem.Save();
}
}
}
[1]: http://msdn.microsoft.com/en-us/library/bb130323(VS.80).aspx