【问题标题】:Properties.Settings.Default.Save(); -> Where is that fileProperties.Settings.Default.Save(); -> 那个文件在哪里
【发布时间】:2011-08-12 22:53:13
【问题描述】:
我有使用设置的应用程序。
要保存我使用的设置:
Properties.Settings.Default.Save();
要阅读我使用的内容:
Properties.Settings.Default.MyCustomSetting;
在我的应用程序文件夹中,我只有 exe 文件。
没有配置文件。我的应用程序运行良好,可以读写设置。
如果该文件不在应用程序文件夹中,该文件位于何处?
【问题讨论】:
标签:
c#
.net
properties
settings
directory
【解决方案1】:
在我的 Windows XP 机器上,设置保存在 C:\Documents and Settings\<UserName>\Application Data\ 或 C:\Documents and Settings\<UserName>\Local Settings\Application Data\ 下某个名为 user.config 的文件中
更新:
在 Windows Vista 及更高版本上,位置已更改为 C:\Users\<UserName>\AppData\Roaming\ 和 C:\Users\<UserName>\AppData\Local\
【解决方案2】:
这取决于您使用的 SettingsProvider。默认情况下,这是LocalFileSettingsProvider
引用该页面:
应用程序范围的设置和默认的用户范围设置存储在名为 application.exe.config 的文件中,该文件与可执行文件在同一目录中创建。应用程序配置设置是只读的。特定的用户数据存储在名为 user.config 的文件中,存储在用户的主目录下。
他们也可能会去 %APPDATA%
【解决方案3】:
我不知道具体路径,但我认为它在文档和设置中
在 Save 上放置一个断点,路径应该在 Properties.Settings.Default 的成员/子成员之一中可见
see this post
【解决方案4】:
在我的 Windows 7 机器上,它保存在:
用户\\AppData\Local\MyCompanyName\MyExeName\1.0.0.0\user.config
将 MyCompanyName 替换为特定于您的名称,并将 MyExeName 替换为您的 Exe 名称。我的后面是很多随机字符。
这也让我感到震惊。我很高兴我不是唯一一个。 :) 我希望这会有所帮助!
【解决方案5】:
您可以通过编程方式获取路径:
var path = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoamingAndLocal).FilePath;
Textbox1 = path;