如何在源代码管理中存储 Visual Studio 的调试配置

How to Store Visual Studio's Debug Configuration in Source Control

Visual Studio 的调试配置存储在 .user 文件中,该文件是用户特定的,传统上被源代码管理忽略。

我对工作目录参数感兴趣。我需要它在程序员的机器上保持一致,它的值是 $outDir 而不是默认的 $ProjectDir.

如何解决这些矛盾?

将此添加到 vcxproj 的末尾 </project> 标记之前:

  <PropertyGroup>
    <LocalDebuggerWorkingDirectory>c:\same\for\everyone</LocalDebuggerWorkingDirectory>
  </PropertyGroup>

我是2010年才查的

Visual studio 仍会在 IDE 中显示 $(ProjectDir) 因为我猜它会用它在 .user 文件中找到的任何内容填充它,但是在构建任务期间它似乎在 vcxproj 之后处理 .user 文件;在 .user 中没有覆盖,它似乎接受了 vcxproj 中的设置。

请注意,如果您按照我的建议将此 放在 vcxproj 的末尾,则必须在导入 Microsoft.Cpp.props 之后,这与@一样重要Claytorpedo 指出

应要求添加到@zeromus 的回答中。

您可以像这样在 vcxproj 中设置工作目录:

<PropertyGroup>
  <LocalDebuggerWorkingDirectory>c:\same\for\everyone</LocalDebuggerWorkingDirectory>
</PropertyGroup>

但是,要让它工作,需要在

之后定义它
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />

如果您在该导入之前定义 LocalDebuggerWorkingDirectory,它将被覆盖回默认位置。

您也可以使用相对路径。例如在一个项目中,我将其设置为:

<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<PropertyGroup>
  <LocalDebuggerWorkingDirectory>..</LocalDebuggerWorkingDirectory>
</PropertyGroup>

以便它从 vcxproj 文件上方的一个目录开始。

在 VS 2019 中测试。