可能是重复但我找不到合适的答案。
是否可以在启动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)
{
}
有可能实现吗?
答案 0 :(得分:5)
关于下载文件的一些想法:
DownloadFile方法
您可以使用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,它允许自定义构建下载不在工作区中的文件。
为构建源设置添加额外路径
您可以编辑构建定义的源设置,以将其他源控件文件夹映射到构建代理文件夹。