在Drop文件夹上执行构建后脚本

时间:2016-08-16 17:20:47

标签: powershell tfs msbuild nuget

我有一个基于.NET 4的项目。它在TFS下,我们有一个专用的TS构建服务器。在办理登机手续时,通过CI,TFS构建服务器能够签出解决方案并成功执行0错误的构建。 程序集也都成功删除到构建服务器上定义的drop文件夹。

程序集已被删除,但不符合应用程序所需的正确顺序/格式。因此,我创建了一个post-build Powershell脚本,用于在drop文件夹中创建一个新文件夹,并将所需文件从drop文件夹移动到这个新文件夹中。

我使用参数

从我的构建定义中调用了构建后脚本
  "$(TF_BUILD_DROPLOCATION)"

有了这个,我的脚本能够成功地在drop文件夹上创建一个新文件夹:

New-Item ($droppath + "\nuget") -type directory

现在的问题是,当我尝试将文件从drop文件夹实际复制到此文件夹时,powershell会返回路径/文件未找到错误,例如。

Copy-Item (Join-Path $droppath "\classX") -Destination $staging -Recurse

Copy-Item (Join-Path $droppath "\abc.svc") -Destination $staging -Recurse

我知道上面的文件存在于drop文件夹中,但仍然出错。 我的一个观察结果是,在实际删除文件之前,可能正在执行构建后脚本。因此,我的脚本能够创建空白文件夹,但它正在尝试复制的文件尚未被删除。如何修复此脚本/要求?

一旦我有了所有文件,那么最后,我需要运行nuget来通过nuget打包我的文件夹,但首先需要在这个文件夹中复制正确的文件。

0 个答案:

没有答案