如何获取项目的文件名? - 团队基础 SDK

发布于 2024-10-24 12:04:38 字数 422 浏览 2 评论 0 原文

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

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)
  {
  }

I am trying to get a file by name from TFS. I am getting all the files from a location recursively and then looping through these to find a specific file. It appears that the VersionControl.Client.Item object does not expose the filename (or foldername).

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)
  {
  }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

贵在坚持 2024-10-31 12:04:38

(假设 TFS2008。)

vcs.GetItems(...).Items 的类型为 Item[]

因此 staticFileItem 实例。

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

您可以使用 Item.ServerItem 获取文件名(取最后一个路径元素)

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

(Assuming TFS2008.)

The type of vcs.GetItems(...).Items is Item[].

So therefore staticFile is an Item instance.

The properties of Item are all server side because details of the path will depend on the client's workspace mapping (there can be multiple workspaces including this item on the same computer for the same user).

You can use Item.ServerItem to get the filename (take the last path element)

To the path, get a Workspace instance representing your current workspace and use one of its methods to map the ServerItem to a local path (there are a few with subtly different behaviour, without more context it is not clear which is the right one).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文