我有一个基于.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打包我的文件夹,但首先需要在这个文件夹中复制正确的文件。