我通过C#使用TFS API。 我需要修改附加到特定更改集的工作项,但是我看不到有关工作项的信息。
var workItemStore = (WorkItemStore)tfs.GetService(typeof(WorkItemStore));
我的workItemStore
始终是null
:
此外,我的代码:
// 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
中为每个变更集对象的实例返回异常:
我的推荐是:
答案 0 :(得分:0)
我找到了原因:肯定是在参考文献中!
当我创建一个新的解决方案,复制完全相同的代码并使用NuGet包Microsoft.TeamFoundationServer.ExtendedClient
时,问题得到了解决:
变更集对象实例中的属性
WorkItems
具有值,没有异常:
答案 1 :(得分:0)
此外,您需要在代码中指定TeamProjectCollection:
var projectCollection = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri("http://pttfs1:8080/tfs/collectionname"));