使用 TFS API C# 从 TFS 中的文件中读取内容

Read content from file which is in TFS with TFS API C#

可能是重复的,但我没有找到正确的答案。

是否可以在启动 MSBuild 之前从 TFS 上的文件中读取内容?

我正在使用以下内容:

 TfsTeamProjectCollection server = new TfsTeamProjectCollection(new Uri("https://hasinc.visualstudio.com/DefaultCollection"));
 VersionControlServer version = server.GetService(typeof(VersionControlServer)) as VersionControlServer;   
 Item item = version.GetItem(@"$\SomeProject\SomeFile.cs");

我提供了服务器路径并检索到了正确的 "item"。我可以阅读一些属性,例如内容长度。但是我如何读取文件?

我需要阅读内容并提取一些特定信息!

在自定义 activity 方法中构建 TFS 期间发生的过程:

protected override void Execute(CodeActivityContext context)
{
}

有可能实现吗?

下载文件的一些想法:

下载文件方法

您可以使用 DownloadFile 方法将文件下载到临时文件:

TfsTeamProjectCollection server = new TfsTeamProjectCollection(new Uri("https://hasinc.visualstudio.com/DefaultCollection"));
VersionControlServer version = server.GetService(typeof(VersionControlServer)) as VersionControlServer;   
Item item = version.GetItem(@"$\SomeProject\SomeFile.cs");
string tempFileName = System.IO.Path.GetTempFileName();
item.DownloadFile(tempFileName);

下载文件Activity

Team Build 2012 和 2013 都支持 DownloadFiles activity,而不是在自定义 activity 中获取文件,它允许自定义构建下载不在工作区中的文件。

向构建源设置添加额外路径

您可以编辑构建定义的源设置,以将其他源代码管理文件夹映射到构建代理文件夹。