带有tfsbuild 2010的msbuild.exe使用rundll32锁定单元测试“out”文件夹

时间:2012-12-28 08:17:30

标签: c# unit-testing msbuild mstest tfsbuild

运行包含单元测试的构建时,我遇到了TFSbuild 2010的问题。构建正常进行,直到使用mstest.exe启动单元测试。

目前,我已经检查了我的任务管理器,并且正在启动流程rundll32.exe。但是在构建结束时,这个程序集仍在运行!因此,当我想生成一个新的构建时,它会自动失败并显示错误:

The process cannot access to the file 'C:\Builds\2\XDProjects\CI-Base-Dev\TestResults\TFSService_TFSBUILD2012 2012-12-27 01_35_23_Any CPU_Release_Test\Out', because it is being used by another process

我已在TFSBUILD2010计算机上使用unlocker检查了哪个进程正在锁定此文件夹,rundll32.exe就是那个。我监视了我的构建,这个过程在mstest开始运行时启动。

我不知道如何阻止mstest.exe运行rundll32或在构建结束后自动关闭锁定...

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

这应该

TestResults子文件夹,

  

TFSService_TFSBUILD2012 2012-12-27 01_35_23_Any CPU_Release_Test

在您的情况下,

包含每个构建更新的日期时间戳。

这意味着每个Out文件夹将位于解决文件访问争用问题的不同目录中。

如果设置results file parameter of the mstest commandline,可以强行执行此操作。