【问题标题】:Checkin and Checkout file from TFS programmatically using c#使用 c# 以编程方式从 TFS 签入和签出文件
【发布时间】:2015-05-15 17:47:28
【问题描述】:

我需要使用 c# 以编程方式从 TFS 签出和签入文件。我使用的代码如下所示。

var tfs = new TfsTeamProjectCollection(new Uri("http://MyTFSServer/"));

            var versionControlServer = tfs.GetService<VersionControlServer>();

            var workspace = versionControlServer.GetWorkspace(@"D:\Projects\");   

            var file = @"D:\Projects\Test.txt";

            workspace.PendEdit(file);

            using (StreamWriter sw = new StreamWriter(file))
            {
                sw.WriteLine("Test");
            }


            var pendingChange = workspace.GetPendingChanges();

            var changesetNumber = workspace.CheckIn(pendingChange, "checkedin the file programmatically"); 

但是当我执行此代码时,我收到了 CheckinException - TF10141: No files check in: 解决冲突并重试。 在行 workspace.CheckIn(pendingChange, "checkedin the file programmatically");

我该如何解决这个问题?

【问题讨论】:

  • 可能通过解决冲突,您必须手动完成。
  • 感谢斯蒂恩的建议。当我尝试手动签入文件时。它没有显示任何冲突。
  • 最迟是D:\Projects 吗?您是否要执行明确的获取最新步骤,以免编辑过时的版本(从而产生冲突)?

标签: c# tfs tfs-sdk checkin


【解决方案1】:

正如其他人所说,这里有冲突。这可以通过挂起对非最新文件版本的更改并尝试签入来发生。您可以看到与QueryConflicts 的冲突。您也可以找到sample here

【讨论】:

  • 感谢巴克霍奇斯。它对我有用。如示例中所示,我创建了一个新工作区并进行了签入和签出。
猜你喜欢
  • 1970-01-01
  • 2012-08-06
  • 2012-10-28
  • 1970-01-01
  • 2014-01-29
  • 1970-01-01
  • 2011-04-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多