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

时间:2011-07-29 05:16:24

标签: c# settings

为了这个问题,假设Vista或Win 7 OS。我正在编写一个应用程序,它是一个控制台应用程序,但有一个表单gui供用户进行设置。该程序由另一个应用程序调用和使用。

现在,当我运行debug时,配置文件保存在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

2 个答案:

答案 0 :(得分:3)

这是因为Visual Studio会创建另一个.exe文件,这样可以更轻松地调试VSHOST文件(例如MyApp.vshost.exe)。在调试模式下运行时,这将成为您的exe。在正常/生产/发布代码中,您拥有的唯一.exe是正常的.exe。这就是你看到这种差异的原因。

答案 1 :(得分:0)

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

因此,当您从调试器运行Console.Write( System.AppDomain.CurrentDomain.FriendlyName )时,您会得到 app.vshost.exe ,当您直接从exe运行时,您将以 app.exe

的形式输出