VS2010构建日志文件不正确

时间:2012-08-23 23:43:23

标签: visual-studio-2010 logging incredibuild

我的VS2010 C ++项目,发布配置,输出目录为:

$(SolutionDir)\..\_build\Release\

中间目录是:

$(SolutionDir)\..\_build\Release\Obj\$(TargetName)\

构建日志文件只是默认设置:

$(IntDir)\$(MSBuildProjectName).log

但是,构建日志文件没有写入我期望的位置。而是写成:

$(SolutionDir)\_build\Release\Obj\$(TargetName)\$(MSBuildProjectName).log

在编写日志文件时,好像从路径中删除了..。但是,所有其他中间文件都写入正确的目录。

日志编写者是否改变了我的路径?这似乎是90%正确,但它缺少一个重要的..。有什么我需要做的才能让它正确读取?


更新

在玩完它之后,我发现 IncrediBuild 导致了这个问题。没有IncrediBuild的构建会将日志文件放在正确的位置,但是使用IncrediBuild时,日志文件将进入错误的目录。

2 个答案:

答案 0 :(得分:2)

尝试

<Path>$(SolutionDir)..\Output\$(ProjectName).log</Path>

它对我有用。 SolutionDir最后已经有一个\,所以你最终会在路径中找到\\,我认为这是问题所在。

答案 1 :(得分:0)

好的,如果我想将日志文件放在Output文件夹中,该文件夹比当前解决方案文件位置高一级,如下所示:

MyTestProject
    |___ MyTestProject.sln
    |___ MyTestProjectFolder
    |___ Debug
Output
    |___ MyTestProject.log

在vs 2010项目文件中,而不是使用:

<BuildLog>
  <Path>$(SolutionDir)\..\Output\$(ProjectName).log</Path>
</BuildLog>

我必须使用:

<BuildLog>
  <Path>$(SolutionDir)\..\..\Output\$(ProjectName).log</Path>
</BuildLog>

这有点奇怪,因为我不必对所有其他路径使用2“..”,如OutDir和IntDir。如果我发现更进一步,我会更新这个答案。