C# 如何获取项目的文件名??-团队基金会SDK

C# 如何获取项目的文件名??-团队基金会SDK,c#,version-control,tfs,C#,Version Control,Tfs,我正在尝试从TFS按名称获取文件。我递归地从一个位置获取所有文件,然后循环遍历这些文件以找到一个特定的文件。VersionControl.Client.Item对象似乎未公开文件名(或foldername) (假设为TFS2008。) vcs.GetItems(…).Items的类型为 因此,staticFile就是一个例子 Item的属性都是服务器端的,因为路径的详细信息将取决于客户端的工作区映射(对于同一用户,在同一台计算机上可以有多个工作区,包括此项) 您可以使用获取文件名(取最后一个pa

我正在尝试从TFS按名称获取文件。我递归地从一个位置获取所有文件,然后循环遍历这些文件以找到一个特定的文件。VersionControl.Client.Item对象似乎未公开文件名(或foldername)

(假设为TFS2008。)

vcs.GetItems(…).Items
的类型为

因此,
staticFile
就是一个例子

Item
的属性都是服务器端的,因为路径的详细信息将取决于客户端的工作区映射(对于同一用户,在同一台计算机上可以有多个工作区,包括此项)

您可以使用获取文件名(取最后一个path元素)


对于路径,获取一个代表当前工作区的实例,并使用其方法之一将
ServerItem
映射到本地路径(有一些具有细微不同的行为,没有更多上下文,不清楚哪个是正确的)。

TFS 2005/2008或2010?(默认情况下,2010在“插槽模式”下工作,早期版本没有)。这也是TFS2010中的一个解决方案。
tfs.EnsureAuthenticated();
VersionControlServer vcs = versionControlServer)tfs.GetService(typeof(VersionControlServer));
var allStaticFiles = vcs.GetItems(path + "*", RecursionType.Full).Items;
foreach (var staticFile in allStaticFiles)
{
  if(staticFile == ?? // need the filename)
  {
  }