TFS API C#:获取工作项的问题

时间:2016-09-04 15:10:28

标签: c# tfs

我通过C#使用TFS API。 我需要修改附加到特定更改集的工作项,但是我看不到有关工作项的信息。

var workItemStore = (WorkItemStore)tfs.GetService(typeof(WorkItemStore));

我的workItemStore始终是null

enter image description here

此外,我的代码:

 // Connect to server
        var tfs = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri(ConstTfsServerUri));
        tfs.Connect(ConnectOptions.None);
        var vcs = tfs.GetService<VersionControlServer>();

        // Create versionspec's. Example start with changeset 529
        //VersionSpec versionFrom = VersionSpec.ParseSingleSpec("463450", null);
        //VersionSpec versionFrom = VersionSpec.ParseSingleSpec("400000", null);
        VersionSpec versionFrom = VersionSpec.ParseSingleSpec("C529", null);
        // If you want all changesets use this versionFrom:
        // VersionSpec versionFrom = null;
        VersionSpec versionTo = VersionSpec.Latest;

        // Get Changesets
        var changesets = vcs.QueryHistory(
            serverPath,
            VersionSpec.Latest,
            0,
            RecursionType.Full,
            null,
            versionFrom,
            versionTo,
            //Int32.MaxValue,
            200,
            true,
            false
            ).Cast<Changeset>().ToList();

在属性WorkItems中为每个变更集对象的实例返回异常:

enter image description here

我的推荐是:

enter image description here 也许我忘了添加必要的参考资料?

2 个答案:

答案 0 :(得分:0)

我找到了原因:肯定是在参考文献中! 当我创建一个新的解决方案,复制完全相同的代码并使用NuGet包Microsoft.TeamFoundationServer.ExtendedClient时,问题得到了解决: enter image description here 变更集对象实例中的属性WorkItems具有值,没有异常: enter image description here

答案 1 :(得分:0)

此外,您需要在代码中指定TeamProjectCollection:

var projectCollection = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri("http://pttfs1:8080/tfs/collectionname"));
相关问题