Workspace.PendEdit没有签出文件

时间:2010-06-02 00:56:41

标签: .net-4.0 tfs2010 tfs-sdk

我正在使用TFS 2010 SDK以编程方式检入对TFS 2010中文件的编辑.TFS 2010 SDK上的文档充其量只是稀疏的。当我调用方法workspace.pendedit()传入一个我希望标记为有待编辑的文件数组时,实际上没有任何内容被检出。因此,当我调用workspace.checkin()传入workspace.getpendingchanges和一些注释时,我得到一个例外,即必须至少有一个具有挂起更改的东西(应该是我传入pendedit的东西)。有关为什么应用程序没有将文件标记为在工作区中具有挂起编辑的任何想法?

2 个答案:

答案 0 :(得分:3)

确保您按正确的顺序执行所有操作,以便TFS知道文件已更改。你必须:

  1. 首先从工作区获取文件。
  2. 等待编辑
  3. 对文件进行更改
  4. 检查工作区。
  5. 示例:

        GetStatus status = workspace.Get(new GetRequest(migrationPath, RecursionType.None, 
                                                 VersionSpec.Latest),GetOptions.Overwrite);
        workspace.PendEdit(migrationPath);
    
        checkInAuthor = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
    

答案 1 :(得分:2)

事实证明,即使我已经添加了文件并检入了文件,但似乎工作区无法识别出文件存在,因此我不得不在之前执行Get() PendEdit()