簡體   English   中英

如何使用tfs api列出團隊項目的文件?

[英]How to list files of a team project using tfs api?

我想知道是否有辦法列出tfs團隊項目中包含的所有“文件”。 我的目標是搜索由分支引起的TFS內沒有固定路徑的特定名稱的文件($ / MyTeamProject / Main / Build / instruction.xml和$ / MyTeamProject / Branches / Release_1.0)。 一旦找到文件,我想操縱它。

我想我們正在談論在團隊項目中包含的實體而不是傳統文件中的項目,因此這可能有點棘手?

我看過一些用於操作文件的示例,但到目前為止所有樣本都有固定路徑。

這不是一個不同的答案,而只是升級Vengafoo的代碼。 TeamFoundationServer類在2011年已經過時(不確定何時發生這種情況,我只知道它已經過時了)。 Vengafoo的代碼是從2009年開始的,所以這是有道理的。 改為使用TfsTeamProjectCollection類和TfsTeamProjectCollectionFactory工廠類。

這是升級,只有一行變化:

//TeamFoundationServer server = new TeamFoundationServer("server");
TfsTeamProjectCollection server = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri("http://tfsServerURI:8080/tfs/"));

VersionControlServer version = server.GetService(typeof(VersionControlServer)) as VersionControlServer;

ItemSet items = version.GetItems(@"$\ProjectName", RecursionType.Full);
//ItemSet items = version.GetItems(@"$\ProjectName\FileName.cs", RecursionType.Full);

foreach (Item item in items.Items)
{
    System.Console.WriteLine(item.ServerItem);
} 

以下是我如何列出如何列出TFS項目的所有文件:

添加Microsoft.TeamFoundation.Client和Microsoft.TeamFoundation.VersionControl.Client作為項目的引用。

為Microsoft.TeamFoundation.Client和Microsoft.TeamFoundation.VersionControl.Client添加一個using。

TeamFoundationServer server = new TeamFoundationServer("server");
VersionControlServer version = server.GetService(typeof(VersionControlServer)) as VersionControlServer;

ItemSet items = version.GetItems(@"$\ProjectName", RecursionType.Full);
ItemSet items = version.GetItems(@"$\ProjectName\FileName.cs", RecursionType.Full);

foreach (Item item in items.Items)
{
    System.Console.WriteLine(item.ServerItem);
}

第二個GetItems會將找到的項目限制為特定文件名。 我只是有這個示例輸出找到的所有文件的服務器路徑。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM