c#设置.如何确定appdata的路径

本文关键字:路径 appdata 何确定 设置 | 更新日期: 2023-09-27 18:03:48

对于这个问题,假设是Vista或win7操作系统。我正在写一个应用程序,这是一个控制台的应用程序,但与窗体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_wkb5qtqxm104a0d42yibofh0l0x3wu3k
为什么会有不同呢?
我能找到的所有文档都说路径将是…'AppData'本地'公司名称/程序名称'程序版本'user.config

c#设置.如何确定appdata的路径

这是因为Visual Studio创建了另一个.exe文件,这使得它更容易调试称为VSHOST文件(例如MyApp.vshost.exe)。在调试模式下运行时,这将成为您的exe。而在正常/生产/发布代码中,您拥有的唯一.exe是正常的。这就是为什么你会看到这种差异

vshost.exe特性是VS2005中引入的。它的目的是使调试启动非常快。

所以这就是为什么当你从调试器运行Console.Write(System.AppDomain.CurrentDomain.FriendlyName)时,你会得到app.vshost.exe,当你直接从exe运行时,你会得到输出为app.exe