Msbuild 使用部署项时,TFS 2013在生成后运行测试失败

Msbuild 使用部署项时,TFS 2013在生成后运行测试失败,msbuild,continuous-integration,integration-testing,Msbuild,Continuous Integration,Integration Testing,我们已经设置了一个构建,该构建每晚都会被触发,以执行我们创建的IntegrationST。问题在于,在执行这些测试时,这似乎是一个问题。其中一些测试使用测试项目中包含的文件,并将这些文件指定为部署项 然而,这似乎有一个问题,因为我们得到以下错误 测试运行部署问题:未能将文件“d:\Sources\Agent1\bin\Debug\xxx.pdf”复制到“d:\Sources\Agent1\bin\Debug\xxxxx.pdf”:System.IO.IOException:进程无法访问文件“d:

我们已经设置了一个构建,该构建每晚都会被触发,以执行我们创建的IntegrationST。问题在于,在执行这些测试时,这似乎是一个问题。其中一些测试使用测试项目中包含的文件,并将这些文件指定为部署项

然而,这似乎有一个问题,因为我们得到以下错误

测试运行部署问题:未能将文件“d:\Sources\Agent1\bin\Debug\xxx.pdf”复制到“d:\Sources\Agent1\bin\Debug\xxxxx.pdf”:System.IO.IOException:进程无法访问文件“d:\Sources\Agent1\bin\Debug\xxx.pdf”,因为另一个进程正在使用该文件

在我们自己的机器上本地运行这些测试时,所有测试都正常工作

在msbuild日志中出现此警告后,testrun将停止并挂起,直到达到代理的指定时间,并且buildserver将终止代理


问题可能是什么?如何解决这个问题,以便让integrationstest再次运行?

TFS Build默认情况下将生成输出放置在不同的位置,然后在中本地生成时与在本地生成时将其放置在[projectdir]\bin\Debug中。使用TFS Build时,其文件夹结构如下:

[workspace dir]\Sources\[projectdir]
[workspace dir]\Binaries\
TFS Build将生成输出重定向到Binaries文件夹。因此,如果您有自定义操作在\bin\debug中查找,它将找不到它们