如何在脱机时以编程方式查明本地文件是否在TFS版本控制下

时间:2015-05-28 12:14:45

标签: c# tfs

我有一个小的内部视觉工作室扩展(VS 2013),对于一个功能,我需要弄清楚磁盘上的文件是否在TFS版本控制之下。

(通过“在TFS版本控制下”我的意思是有问题的文件由TFS跟踪,因此可以检出,编辑,签入等。)

以下代码是我今天所拥有的,只要您连接到TFS,它就可以正常工作。它使用Workspace

的实例
// m_workspace is of type Microsoft.TeamFoundation.VersionControl.Client.Workspace
var items = m_workspace.GetItems(
              new[] {new ItemSpec(filename, RecursionType.None)}, 
              DeletedState.Any, 
              ItemType.Any,
              false, 
              GetItemsOptions.LocalOnly | GetItemsOptions.Unsorted);
return items.First().Items.Any();

现在,问题是当您不在办公室防火墙内(或通过VPN连接)时,无法访问TFS服务器。实际上,主机名甚至都不会解析。

所以我的问题是:有没有其他方法可以让我找出文件是否受版本控制?最好使用公共API,但如果这是一个丑陋的黑客,我很好......

1 个答案:

答案 0 :(得分:-1)

您可以使用:

script