Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#设置。如何确定appdata的路径?_C#_Settings - Fatal编程技术网

C#设置。如何确定appdata的路径?

C#设置。如何确定appdata的路径?,c#,settings,C#,Settings,对于这个问题,假设Vista或Win7操作系统。我正在编写一个应用程序,它是一个控制台应用程序,但是有一个表单gui供用户进行设置。此程序被另一个应用程序调用和使用 现在,当我运行debug时,配置文件保存在C:\Users\gpearson\AppData\Local\LameCooter\ReFLAC.vshost.exe\u Url\u n0ekhuv0sj03zssscwzaubkqj0rny1jg\1.0.1.0\user.config但是当外部应用程序运行我的程序时,在C:\User

对于这个问题,假设Vista或Win7操作系统。我正在编写一个应用程序,它是一个控制台应用程序,但是有一个表单gui供用户进行设置。此程序被另一个应用程序调用和使用

现在,当我运行debug时,配置文件保存在
C:\Users\gpearson\AppData\Local\LameCooter\ReFLAC.vshost.exe\u Url\u n0ekhuv0sj03zssscwzaubkqj0rny1jg\1.0.1.0\user.config
但是当外部应用程序运行我的程序时,在
C:\Users\gpearson\AppData\Local\LameCooter\reflac.exe\u Url\u wkb5qqxm1o4a0d42yibofh0l0x3wu3k\1.0.1.0\user.config中查找配置文件
区别在于:
路径#1:ReFLAC.vshost.exe_Url_n0ekhuv0sj03zsscwvzaubkqj0rny1jg
路径#2:reflac.exe_Url_wkb5qtqxm1o4a0d42 yibofh0l0x3wu3k
为什么不同

我能找到的所有文档都说路径将是…\AppData\Local\Company Name/Program Name\Program version\user.config

这是因为Visual Studio创建了另一个.exe文件,该文件称为VSHOST文件(例如MyApp.VSHOST.exe),便于调试。在调试模式下运行时,这将成为您的exe。在正常/生产/发布代码中,您仅有的.exe是正常的。这就是为什么您会看到这种差异。

VS2005引入了vshost.exe功能。它旨在使调试启动更快


这就是为什么当您从调试器运行Console.Write(System.AppDomain.CurrentDomain.FriendlyName)时,您会得到app.vshost.exe,而当您直接从exe运行时,您会得到输出为app.exe,谢谢。就这样。但是附加到app exe的随机字母数字的目的是什么呢?它似乎是VisualStudio添加的一些东西(不确定为什么)。这本身可能是一个问题。从我所能看出,这可能是一个应用程序GUID