MSBUILD失败,"进程无法访问文件xxxxx,因为它正由另一个进程使用." 当maxcpucount大于1时

JNa*_*ppi 6 cruisecontrol.net msbuild

我正在尝试使用CruiseControl.NET和MSBUILD以及其中一个命令行开关来改善构建时间,maxcpucount可用于允许构建并行发生.我们的解决方案有60多个项目,因此任何改进都会有所帮助 但是,每当我将maxcpucount提高到1以上时,由于以下原因,我们经常出现构建失败:

"该进程无法访问文件xxxx,因为它正由另一个进程使用.msbuild"

看来额外的并行构建线程/进程是相互锁定的.

Bri*_*ler 2

您是从解决方案文件构建的吗?如果是这样,请确保您使用直接的项目到项目引用,而不是使用解决方案的项目依赖性功能。如果您碰巧同时使用两者,则可能会出现问题。请参阅这篇文章

更好的是,如果可能的话,放弃解决方案文件并创建您自己的 MSBuild 文件来驱动您的构建。