如何在新构建任务

时间:2016-02-10 15:17:05

标签: tfs2015

我们尝试将旧的XAML构建迁移到新的构建系统,并在内部部署TFS2015 Update1上执行任务。在XAML构建中,我们有一个步骤,我们检查出一些文件做了一些修改并办理登机手续。我发现powershell helper与TFS的连接。比我可以退房文件,获取待办理退房清单,但不能办理登机手续。当我打电话

$tfsProvider.Workspace.CheckIn($pendingChanges, "some text")

我收到错误

Exception calling "CheckIn" with "2" argument(s): "Could not load file or assembly 'Microsoft.TeamFoundation.WorkItemTracking.Client, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies

我认为问题是程序集Microsoft.TeamFoundation.VersionControl.Client.dll依赖于程序集Microsoft.TeamFoundation.WorkItemTracking.Client。但是此程序集不在Agent worker文件夹中。是唯一的方法是将此程序集复制到代理文件夹或在具有代理的计算机上安装VS2015并从VS文件夹加载程序集?

由于 问候

3 个答案:

答案 0 :(得分:1)

如果要使用TFS API签入,则必须在计算机上安装assemblies,并且必须在PowerShell脚本中导入它们。

签入文件的其他方法是:

使用PowerShell:

您可以安装TFS Power Tool并使用Windows PowerShell Cmdlet签入文件。有关详细信息,请参阅此链接:PowerShell and TFS: The Basics and Beyond

使用批处理脚本: 您可以在计算机上安装Team Explorer并使用TF Checkin命令检入文件。

答案 1 :(得分:1)

编辑构建杂项文件并在custom / powershell任务eq中使用tf commnads。

cd $env:BUILD_SOURCESDIRECTORY

$TFFile = Get-Item "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\TF.exe"

$tfOutput = [string]( & $TFFile.FullName checkin /noprompt /override:"***NO_CI*** New version is $newVersion." /comment:"***NO_CI*** New version is $newVersion." 2>&1)

抓住TF.exe,如果一切正常,它可以报告错误事件。

答案 2 :(得分:0)

就像你说的那样,你必须确保你的构建代理与你的开发机器具有相同的环境。

简单的方法是复制代理文件夹上的dll文件。或者您可以使用Nuget安装包。建议你安装VS2015。