创建 TFS 项目

Create TFS item

我正在尝试自动创建和管理 TFS 项目。我有以下代码来创建 TFS 项目:

try
{
    Uri collectionUri = new Uri("http://TFSServer:8080");
    TfsTeamProjectCollection tpc = new TfsTeamProjectCollection(collectionUri);

    WorkItemStore workItemStore = tpc.GetService<WorkItemStore>();
    Project teamProject = workItemStore.Projects["ProjectName"];
    WorkItemType workItemType = teamProject.WorkItemTypes["ProjectNameTask"];

    WorkItem userStory = new WorkItem(workItemType)
    {
        Title = "Recently ordered menu 2",
        Description = "As a return customer, I want to see items that I've recently ordered",
        State = "Proposed"

    };

    var invalidFields = userStory.Validate();

    userStory.Save();
}
catch (Exception exception)
{
    Console.WriteLine("Exception occurred: " + exception.ToString());
    throw;
}

调用 userStory.Validate() 返回 invalidFields 中的一项,详细信息:

Name: Issue Type
ReferenceName: IssueType

但是,WorkItem 没有 IssueType 类型的元素。所以下面的代码给出了一个编译错误:

WorkItem userStory = new WorkItem(workItemType)
{
    Title = "Recently ordered menu 2",
    Description = "As a return customer, I want to see items that I've recently ordered",
    State = "Active",
    IssueType = "Some Issue"

};

错误说 "Cannot resolve symbol 'IssueType'"。这可能是因为我无权访问特定 TeamProject 的正确 dll。我认为解决以下两个想法之一可能会有所帮助:

如何为特定 TeamProject 的工作项获取正确的 dll?

是否可以向对象类型添加字段?我试图通过扩展 WorkItem 创建一个新的 class,但它是一个密封的 class 在命名空间 Microsoft.TeamFoundation.WorkItemTracking.Client 中。

想知道如何解决这个问题。

工作项可以有任意字段,远远超出 WorkItem type. Look in the Fields 属性 中所表达的字段。

例如,userStory.Fields["IssueType"].Value = "Value"