【问题标题】:Read content from file which is in TFS with TFS API C#使用 TFS API C# 从 TFS 中的文件中读取内容
【发布时间】:2015-05-22 01:38:21
【问题描述】:

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

是否可以在 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");

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

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

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

protected override void Execute(CodeActivityContext context)
{
}

有可能实现吗?

【问题讨论】:

  • 您使用的是哪个版本的 TFS Build?
  • 我使用的是 TFS 2013。

标签: c# tfs msbuild


【解决方案1】:

关于下载文件的一些想法:

下载文件方法

您可以使用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);

下载文件活动

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

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

您可以编辑构建定义的Source Settings,将额外的源代码管理文件夹映射到构建代理文件夹。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-05-07
    • 1970-01-01
    • 2017-12-24
    • 2020-03-16
    • 1970-01-01
    • 2010-09-14
    • 2020-08-19
    相关资源
    最近更新 更多