对于这个问题,假设使用 Vista 或 Win 7 操作系统。我正在编写一个应用程序,它是一个控制台应用程序,但带有一个表单 GUI 供用户进行设置。该程序被另一个应用程序调用和使用。
现在,当我运行调试时,配置文件保存在 C:\Users\gpearson\AppData\Local\LameCooter\ReFLAC.vshost.exe_Url_n0ekhuv0sj03zsscwvzaubkqj0rny1jg\1.0.1.0\user.config
但是当外部应用程序运行我的程序时,会在 C:\Users\gpearson\AppData\Local\LameCooter\reflac.exe_Url_wkb5qtqxm1o4a0d42yibofh0l0x3wu3k\1.0.1.0\user.config
中查找配置文件。
区别在于:
路径#1:ReFLAC.vshost.exe_Url_n0ekhuv0sj03zsscwvzaubkqj0rny1jg
路径#2:reflac.exe_Url_wkb5qtqxm1o4a0d42yibofh0l0x3wu3k
为什么有区别?
我能找到的所有文档都表明路径将为...\AppData\Local\Company Name/Program Name\Program version\user.config
最佳答案
这是因为 Visual Studio 创建了另一个 .exe 文件,该文件更易于调试,称为 VSHOST 文件(例如 MyApp.vshost.exe)。在 Debug模式下运行时,这将成为您的 exe。而在正常/生产/发布代码中,您拥有的唯一 .exe 是正常的。这就是您看到这种差异的原因。
关于C# 设置。 appdata的路径是如何确定的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6868924/