MsBuild 在生成后保留 运行,锁定文件夹
MsBuild keeps running after build, lock folder
我正在使用 TFS 2013 在每次签入后自动执行持续集成构建。我最近开始收到以下错误:
进程无法访问 'myfolder' 因为它正被另一个进程使用
换句话说,在每次构建开始时,TFS 尝试清除源文件夹,但无法继续,这导致我的构建失败。
通过使用 ProceddExplorer,我发现 MSBuild 进程仍然对我的文件夹具有句柄。因此,在构建之后,MsBuild 进程会保留 运行 一段时间,并会处理我的解决方案的最后一个构建项目的文件夹。
经过一些研究,我了解到这可能是由 MSBuild 运行 在 'node reuse' 模式下引起的,所以我尝试添加这些 MSBuild 参数 /m /nr:false
以防止 MsBuild 运行 在 'node reuse' 模式下,但没有成功。
请注意,当构建在短时间内 运行 时会出现问题,一段时间后 MSBuild 进程自行停止。
有人遇到过同样的问题吗?
首先请将您的TFS2013升级到最新版本TFS2013 Update5,如果您还没有升级的话。
然后,尝试将 'MSBuild Arguments' 设置为 /m:1
以强制 MSBuild 对所有项目使用单个进程。
我正在使用 TFS 2013 在每次签入后自动执行持续集成构建。我最近开始收到以下错误:
进程无法访问 'myfolder' 因为它正被另一个进程使用
换句话说,在每次构建开始时,TFS 尝试清除源文件夹,但无法继续,这导致我的构建失败。
通过使用 ProceddExplorer,我发现 MSBuild 进程仍然对我的文件夹具有句柄。因此,在构建之后,MsBuild 进程会保留 运行 一段时间,并会处理我的解决方案的最后一个构建项目的文件夹。
经过一些研究,我了解到这可能是由 MSBuild 运行 在 'node reuse' 模式下引起的,所以我尝试添加这些 MSBuild 参数 /m /nr:false
以防止 MsBuild 运行 在 'node reuse' 模式下,但没有成功。
请注意,当构建在短时间内 运行 时会出现问题,一段时间后 MSBuild 进程自行停止。
有人遇到过同样的问题吗?
首先请将您的TFS2013升级到最新版本TFS2013 Update5,如果您还没有升级的话。
然后,尝试将 'MSBuild Arguments' 设置为 /m:1
以强制 MSBuild 对所有项目使用单个进程。