我有一个包含多个项目的解决方案,可以执行许多自定义构建步骤。有些项目依赖于其他项目,但大多数构建步骤彼此独立。
在VS 2010 IDE中构建时,我遇到这样的错误:
错误MSB6003:无法运行指定的任务可执行文件“cmd.exe”。该进程无法访问文件'C:\ full \ path \ Debug \ custombuild.write.1.tlog',因为它正由另一个进程使用
但是,当我从命令行使用MSBuild构建解决方案时,一切都很好,并且日志文件写入似乎不会导致相同的错误。
这是一个已知问题吗? Google今天没有太多帮助......
答案 0 :(得分:6)
答案是在MSBuild forum thread中暗示的。
自定义构建规则日志将写入包含项目的$(IntDir)。我们有多个项目(没有实际输出发送到IntDir),所有项目都无意中共享了相同的IntDir值。为每个项目提供自己的IntDir值可以消除这个问题。