首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >找不到Microsoft.VSTS.Scheduling.StartDate

找不到Microsoft.VSTS.Scheduling.StartDate
EN

Stack Overflow用户
提问于 2014-08-20 06:31:13
回答 2查看 303关注 0票数 1

我在TFS项目中有一些迭代,我试图读取基于以下条件的开始和结束日期:

http://blogs.msdn.com/b/visualstudiouk/archive/2013/01/16/migrating-tfs2010-sprint-dates-to-tfs2012-iteration-path-based-dates.aspx

我已经手动设置了开始日期和结束日期

我有:

代码语言:javascript
复制
       string WIQL = string.Format("SELECT * FROM WorkItems WHERE [System.TeamProject] = '{0}'", projectName);

        WorkItemCollection wic = wit.Query(WIQL);

        foreach (WorkItem wi in wic)
        {

            try
            {
                DateTime start = Convert.ToDateTime(wi.Fields["Microsoft.VSTS.Scheduling.StartDate"].Value);
                Console.WriteLine("Item does have start date!" + wi.IterationId);
            }
            catch (Exception)
            {
                Console.WriteLine("Item does not have start date!" + wi.IterationId);
            }

        }

        Console.WriteLine("Done");

    }

但是对于所有项都会抛出异常,这意味着永远找不到Microsoft.VSTS.Scheduling.StartDate字段。我使用的是TFS API 11和12。

有什么想法吗?

EN

回答 2

Stack Overflow用户

发布于 2014-08-21 04:07:29

迭代日期不存储在工作项字段中,它们对于团队项目是全局的。获取迭代日期的正确方法是使用CommonStructureService:

代码语言:javascript
复制
TfsTeamProjectCollection tfs = new TfsTeamProjectCollection(new Uri("<collection url>"));
ICommonStructureService4 css = tfs.GetService<ICommonStructureService4>();

NodeInfo ni = css.GetNodeFromPath(@"\<project name>\Iteration\<iteration name>");
Console.WriteLine("Start date: {0}", ni.StartDate);
Console.WriteLine("Emd date: {0}", ni.FinishDate);
票数 1
EN

Stack Overflow用户

发布于 2014-08-21 01:23:53

我会仔细研究一下工作项类型。您可以下载TFS Power tools,然后将任何工作项类型导出到xml.这将允许您探索每个字段的确切类型。也许您正在寻找的“开始日期”实际上是您的TFS实例中的一个不同类型。

你问题中的代码看起来没问题。我通过在我的TFS实例中创建一个User Story并将其设置为Active来测试它。这将在您的代码中找到的故事上设置开始日期。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25394033

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档