【问题标题】:VS2010 Build Log File is IncorrectVS2010 构建日志文件不正确
【发布时间】:2012-08-23 23:43:22
【问题描述】:

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

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

中间目录是:

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

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

$(IntDir)\$(MSBuildProjectName).log

但是,构建日志文件并未写入我期望的位置。它被写入:

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

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

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


更新:

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

【问题讨论】:

  • 我还不能发表评论,所以我决定发布作为答案...我有完全相同的问题,我确实安装了 Incredibuild。但是,删除 Incredibuild 并没有帮助。 “..\”部分仍然被剥离。这是 标签的错误吗?

标签: visual-studio-2010 logging incredibuild


【解决方案1】:

试试

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

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

【讨论】:

  • 我有同样的结论 $(*Dir).. 有效,而 $(*Dir)\.. 搞砸了。 (Visual Studio 2013 速成版)
【解决方案2】:

好的,假设我要将日志文件放在比当前解决方案文件位置高一级的输出文件夹中,如下所示:

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。如果我有进一步的发现,我会更新这个答案。

【讨论】:

    猜你喜欢
    • 2011-08-02
    • 2011-03-26
    • 1970-01-01
    • 1970-01-01
    • 2021-04-10
    • 1970-01-01
    • 2020-10-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多