为了这个问题,假设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
答案 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
的形式输出