当我更改项目属性中的调试设置(在我的情况下,尤其是环境值)时,它不会保存到项目或解决方案文件中。
它保存在哪里?
感谢 Stack Overflow 问题我是否应该将 Visual Studio .suo 和 .user 文件添加到源代码管理中,我能够用我在此处引用的Chris Nielsens回答来解决这个问题:
.csproj
您可以在任何文本编辑器中打开 .user 和文件。我刚刚测试了将相关调试设置从 .user 复制粘贴到 .user 中.csproj
,然后删除该.user
文件。调试继续工作,愉快地从.csproj
文件中的新位置读取正确的设置。这应该提供一种在不提交.user
文件的情况下提交调试设置的方法。确保将它们置于正确的配置中(调试、发布等)。在我的机器上工作!=)
我刚刚复制:
<LocalDebuggerEnvironment>PATH=$(CxPathd);%PATH%</LocalDebuggerEnvironment>
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
从.user
文件到.vcxproj
文件到文件的同一部分:
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
在我的情况下,这些是 .user 文件中唯一的条目,因此在我的情况下可以将它们检入 SCM,但将其复制到.vcxproj
文件中可能更干净。
这些设置保存在 projectname.vcxproj.user 文件中,该文件与项目文件位于同一目录中。例如,它看起来像这样:
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ShowAllFiles>true</ShowAllFiles>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LocalDebuggerCommandArguments>
</LocalDebuggerCommandArguments>
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
<LocalDebuggerEnvironment>PATH=$(CxPathd);%PATH%</LocalDebuggerEnvironment>
</PropertyGroup>
</Project>
如果您使用的是新的 SDK 样式项目,调试设置现在存储在./Properties/LaunchSettings.json
. 它们在同一文件夹中的所有项目之间共享。