Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 如何在TFS API中获取sourcecontrol的历史记录?_.net_Visual Studio_Tfs_Tfs Sdk - Fatal编程技术网

.net 如何在TFS API中获取sourcecontrol的历史记录?

.net 如何在TFS API中获取sourcecontrol的历史记录?,.net,visual-studio,tfs,tfs-sdk,.net,Visual Studio,Tfs,Tfs Sdk,我是新使用TFS API的人,我正在编写一个删除我的团队项目的应用程序,但在我删除之前,我想知道上次合并的时间,我指的是出现在源代码管理资源管理器>“示例项目”>查看历史记录中的信息,并放在文本框中 还有上次用户输入项目的信息。(我假设您指的是TFS 2012) 2013年MSDN杂志上有一篇文章应该给你一个不错的起点- 顺便说一句,如果您想删除团队项目,我强烈建议您使用TFSDeleteProject(),因为您将使用受支持的工具。我不知道如何检查用户上一次连接到项目的时间,但这是如何从代码访

我是新使用TFS API的人,我正在编写一个删除我的团队项目的应用程序,但在我删除之前,我想知道上次合并的时间,我指的是出现在源代码管理资源管理器>“示例项目”>查看历史记录中的信息,并放在文本框中

还有上次用户输入项目的信息。

(我假设您指的是TFS 2012)

2013年MSDN杂志上有一篇文章应该给你一个不错的起点-


顺便说一句,如果您想删除团队项目,我强烈建议您使用TFSDeleteProject(),因为您将使用受支持的工具。

我不知道如何检查用户上一次连接到项目的时间,但这是如何从代码访问源代码管理历史记录的

using Microsoft.TeamFoundation.Client; 
using Microsoft.TeamFoundation.VersionControl.Client;
using System.Collections;
using System.Windows.Forms;

//The example function is very simple: It gets a change and shows message boxes of all the changesets that have a change for the specified file up to the change transferred to the method.

//Note: Change the [Server Name] with your TFS name.

    public void GetChangesetsOfFile(Change theChange)
    {  
      //Query History parameters

      TeamFoundationServer tfs = new TeamFoundationServer 
                    ("[Server Name]");

      VersionControlServer VCServer = 
                    (VersionControlServer)tfs.GetService 
                    (typeof(VersionControlServer)); 

      int changeId = (theChange.Item.DeletionId != 0) ? 
                    theChange.Item.ChangesetId - 1 :  
                     theChange.Item.ChangesetId;

      ChangesetVersionSpec version = new  
                            ChangesetVersionSpec(changeId);
      ChangesetVersionSpec versionFrom = new 
                            ChangesetVersionSpec(1);
      string path = theChange.Item.ServerItem;

      //Query History Command
      IEnumerable changesets = VCServer.QueryHistory(path, 
               version, 0, RecursionType.None, null, 
               versionFrom, LatestVersionSpec.Latest, 
               int.MaxValue, true, false);


      foreach (Changeset cSet in changesets) 
      { 
        MessageBox.Show(cSet.Changes 
            [0].Item.ChangesetId.ToString()); 
      } 
    }
参考