我试图自动创建和管理TFS项目。我有以下代码来创建一个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
但是,工作项目不具备的元素键入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"
};
错误提示“Can not resolve symbol'IssueType'”。这可能是因为我没有访问特定TeamProject的正确dll。我认为解决以下两个想法中的一个可能会有所帮助:
如何为特定的TeamProject的WorkItem获取正确的dll?
或
是否可以将字段添加到对象类型?我试图通过扩展WorkItem来创建一个新类,但它是名为Microsoft.TeamFoundation.WorkItemTracking.Client的密封类。
想知道如何解决这个问题。
您可以检查无效字段的状态是什么? - 例如'invalidFields [0] .Status'? – Michael
您应该使用有效的“工作项类型”而不是“ProjectNameTask” –
@Michael invalidFields [0] .Status显示InvalidEmpty。 – Romonov