在 Visual Studio 调试期间从哪里加载 user.config

Where is user.config loaded from during Visual Studio debugging

我有一个从用户设置文件读取的应用程序,该文件通常存储在 Users/{username}/AppData/Local/{publisher}/{app}/{version}/user.config。我想测试直接对文件进行更改,而不是通过 Visual Studio 属性编辑器。

我发现 this answer 指向一个不同的问题,它指出应用程序应该从哪里加载文件,但是当我在 Visual Studio 的调试会话期间检查时它似乎不存在.

例如,当我运行下面的Immediate window停在断点上时,找不到文件。

System.IO.File.Exists(System.Configuration.ConfigurationManager.OpenExeConfiguration(System.Configuration.ConfigurationUserLevel.PerUserRoamingAndLocal).FilePath) //returns false

我想在调试过程中找到这个文件的原因是我收到了关于配置文件被破坏并导致生产中的应用程序崩溃的报告。我确信我可以 return 将该文件设置为默认状态,但我想在调试环境中实际重现该问题。

如何找到 Visual Studio 加载的设置文件?

我不太确定从发布这个问题到现在发生了什么变化,但今天我问题中的代码 returns 是正确的。但是为了回答我问的具体问题,user.config 文件的路径与标准安装的应用程序非常相似。

标准应用程序:

Users/{username}/AppData/Local/{publisher}/{app}/{version}/user.config

Visual Studio 调试应用程序:

Users/{username}/AppData/Local/{publisher}/{app}.vshost.exe{some_hash_value}/{version}/user.config