Tag: tfs sdk

如何通过API更改新创建的TFS工作项的工作流状态?

我正在创建一个工作项迁移应用程序,从“某事”到TFS 2013,我想让TFS工作项处于相应的工作流状态,就像在源系统中一样。 例如,如果源工作项处于“已关闭”状态,我希望它在TFS中处于“完成”状态。 我在本文中遵循了建议,建议将WorkItemStore对象的BypassRules属性设置为true ,以便能够设置CreatedDate字段。 我想,这同样适用于更改工作流状态,因为它还需要绕过规则。 所以,我尝试了以下方法: // obtain collection and authenticate towards it var collection = new TfsTeamProjectCollection(new Uri(_tfsUrl), cred); collection.Authenticate(); // get the work item store object var store = new WorkItemStore(collection, WorkItemStoreFlags.BypassRules); // creating the work item var workItem = new WorkItem(store.Projects[_tfsProjectName].WorkItemTypes[“Product Backlog Item”]); // setting some standard fields workItem.Title = “some […]

TFS API:GetLocalWorkspaceInfo始终返回null

在我的一台机器上,我从任何GetLocalWorkspaceInfo调用中获得null的返回值。 对于这个简单的程序,我已经孤立到问题甚至失败了: namespace WorkstationTest { using Microsoft.TeamFoundation.VersionControl.Client; class Program { static void Main() { string workspaceLocalPath = @”C:\Dev”; var info = Workstation.Current .GetLocalWorkspaceInfo(workspaceLocalPath); // info is always null here } } } 我已经检查过: 完全相同的代码以我们应该的方式在我的其他机器上运行。 我已经validation我在C:\Dev有一个工作区 我创建了一个新工作区并在另一个目录中,并更改了代码中的workspaceLocalPath变量以匹配。 我已经查阅了文档 , 该文档声明if the path is not in a workspace中,返回值将为null。 从上图中,路径应位于工作区中。 然而,一切似乎都表明这应该有效。 有什么我可以失踪的吗?

TFS 2013 API – 检索为WI所做的所有更改

有没有人知道如何获得与工作项相关的所有更改,例如每天记录多少小时? 此信息可在“所有更改”选项卡中的TFS的Web版本中获得,但我无法通过查看调试中的WorkItem对象的所有方法和属性来找到它。 我还尝试通过RevisionCollection的索引器上的WorkItem属性检索工作项,该索引器返回Revision对象,但所有这些工作项似乎都引用了WI的最终状态,其中所有小时都已记录并且任务已关闭。

TFS 2015 SDK缺少Microsoft.WITDataStore64.dll

我试图切换到TFS 2015 SDK dll(版本14)有几个原因。 首先,它们是nuget,第二,2013 SDK dll(版本12)需要在IIS中翻转32位标志。 我下载了nutget包 ,命名空间全部与现有的12版命名空间对齐 。 一切都编译好,本地部署没有错误。 但是,当我尝试使用WorkItemStore服务加载项目时。 TfsTeamProjectCollection collection = new TfsTeamProjectCollection(URL); var service = collection.GetService(); 我明白了: 其他信息:无法加载DLL’Microsoft.WITDataStore64.dll’:找不到指定的模块。 (HRESULTexception:0x8007007E) 当我在IIS中切换回32 bt标志时,我得到: 其他信息:无法加载DLL’Microsoft.WITDataStore32.dll’:找不到指定的模块。 (HRESULTexception:0x8007007E) 注意:这是所有工作代码,我所做的就是删除对GAC程序集的引用并添加NUGET包。 根据微软的说法,nuget软件包应与TFS 2013配合使用,并为2013 SDK用户提供服务 现有的Windows应用程序利用旧版本的TFS Client OM。

如何使用Team Foundation Server SDK获取最新版本的源代码?

我正在尝试使用SDK以编程方式从TFS中提取最新版本的源代码,而我所做的以某种方式不起作用: string workspaceName = “MyWorkspace”; string projectPath = “/TestApp”; string workingDirectory = “C:\Projects\Test\TestApp”; VersionControlServer sourceControl; // actually instantiated before this method… Workspace[] workspaces = sourceControl.QueryWorkspaces(workspaceName, sourceControl.AuthenticatedUser, Workstation.Current.Name); if (workspaces.Length > 0) { sourceControl.DeleteWorkspace(workspaceName, sourceControl.AuthenticatedUser); } Workspace workspace = sourceControl.CreateWorkspace(workspaceName, sourceControl.AuthenticatedUser, “Temporary Workspace”); try { workspace.Map(projectPath, workingDirectory); GetRequest request = new GetRequest(new ItemSpec(projectPath, RecursionType.Full), VersionSpec.Latest); GetStatus […]

如何使用Team Foundation Server API创建测试运行和结果?

我找到了几个关于使用TFS API检索测试结果的示例,但没有关于以编程方式创建结果的文档。 我的目标是创建一个轻量级的替代方法,使用Microsoft Test Manager来运行手动测试。 有任何人对此有经验吗? 那里有没有我错过的例子吗? 这是我到目前为止所拥有的: ITestCaseResult CreateNewTestCaseResult(ITestSuiteEntry testCaseEntry) { var run = testCaseEntry.TestSuite.Plan.CreateTestRun(false /* not automated */); run.AddTest(testCaseEntry.TestCase.Id, suiteEntry.TestSuite.DefaultConfigurations[0].Id, suiteEntry.TestSuite.Plan.Owner); run.Save(); // so that results object is created return run.QueryResults()[0]; } 我不确定这是否是启动新运行的正确方法,我不确定如何记录测试的每个操作的结果。