【问题标题】:How do I move a TFS file with c# API?如何使用 c# API 移动 TFS 文件?
【发布时间】:2010-09-14 00:20:30
【问题描述】:

我一直在谷歌上搜索如何使用 C# 使用 TFS API 移动文件。这个想法是有一个文件夹,开发人员在其中放置数据库升级脚本,构建过程进入该文件夹会创建一个构建脚本,并将文件夹中的所有文件移动到具有我们刚刚创建的数据库构建版本的新文件夹中。

我找不到任何关于在 TFS 中以编程方式移动文件的参考...(除了 cmd 命令行)

有人知道通过 c# 学习 TFS 源控制文件操作的良好指南/msdn 起点吗?

【问题讨论】:

    标签: c# api tfs


    【解决方案1】:

    很简单:)。

    Microsoft.TeamFoundation.VersionControl.Client.Workspace workspace = GetMyTfsWorkspace();
    workspace.PendRename( oldPath, newPath );
    

    那你当然需要 CheckIn 了。使用“workspace.GetPendingChanges()”和“workspace.CheckIn()”方法来完成。

    【讨论】:

      【解决方案2】:

      这是一个快速而肮脏的代码示例,应该可以帮助您了解大部分情况。

      using Microsoft.TeamFoundation.Client; 
      using Microsoft.TeamFoundation.VersionControl.Client; 
      
      
      public void MoveFile( string tfsServer, string oldPath, string newPath )
      {
          TeamFoundationServer server = TeamFoundationServerFactory.GetServer( tfsServer, new UICredentialsProvider() ); 
          server.EnsureAuthenticated(); 
          VersionControlServer vcserver = server.GetService( typeof( VersionControlServer ); 
          string currentUserName = server.AuthenticatedUserName;
          string currentComputerName = Environment.MachineName;
          Workspace[] wss = vcserver.QueryWorkspaces(null, currentUserName, currentComputerName);
          foreach (Workspace ws in wss)
          {
      
              foreach ( WorkingFolder wf in wfs )
              {
                  bool bFound = false; 
                  if ( wf.LocalItem != null )
                  {
                      if ( oldPath.StartsWith( wf.LocalItem ) )
                      {
                         bFound = true; 
                         ws.PendRename( oldPath, newPath ); 
                         break; 
                      }
                   }
                  if ( bFound )
                     break; 
              }
          }
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-01-30
        • 1970-01-01
        • 2019-02-17
        相关资源
        最近更新 更多