首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在.NET中使用Settings.settings文件时,配置实际存储在哪里?

在.NET中使用Settings.settings文件时,配置实际存储在哪里?
EN

Stack Overflow用户
提问于 2009-07-02 15:55:23
回答 6查看 124.7K关注 0票数 104

在.NET中使用Settings.settings文件时,配置实际存储在哪里?我想删除保存的设置以恢复到默认状态,但找不到它的存储位置...有什么想法吗?

EN

回答 6

Stack Overflow用户

发布于 2009-07-02 16:28:44

假设您谈论的是桌面而不是web应用程序:

向项目添加设置时,VS会在项目目录中创建一个名为app.config的文件,并将设置存储在该文件中。它还构建Settings.cs文件,该文件为各个设置提供静态访问器。

在编译时,VS将(默认情况下;您可以更改此设置)将app.config复制到构建目录,更改其名称以匹配可执行文件(例如,如果您的可执行文件名为foo.exe,则文件将命名为foo.exe.config),这是.NET配置管理器在运行时检索设置时查找的名称。

如果您通过VS设置编辑器更改设置,它将同时更新app.configSettings.cs。(如果查看Settings.cs中生成的代码中的属性访问器,就会发现它们被标记了一个属性,其中包含app.config文件中设置的默认值。)如果通过直接编辑app.config文件来更改设置,Settings.cs将不会更新,但是当您运行它时,程序仍将使用新值,因为app.config会在编译时复制到foo.exe.config。如果关闭此功能(通过设置文件的属性),则可以通过直接编辑build目录中的foo.exe.config文件来更改设置。

然后是用户范围的设置。

应用程序范围的设置是只读的。您的程序可以修改和保存用户范围的设置,从而允许每个用户拥有他/她自己的设置。这些设置不存储在foo.exe.config文件中(至少在Vista下,程序不能在没有提升的情况下写入Program Files的任何子目录);它们存储在用户应用程序数据目录中的配置文件中。

该文件的路径为%appdata%\%publisher_name%\%program_name%\%version%\user.config,例如C:\Users\My Name\AppData\Local\My_Company\My_Program.exe\1.0.0\user.config。请注意,如果您为程序指定了一个强名称,则该强名称将附加到此路径中的程序名之后。

票数 20
EN

Stack Overflow用户

发布于 2009-07-02 16:02:12

它位于用户主文件夹( xp上的C:\documents and settings\user和Windows Vista上的c:\users\user )下的Application Data文件夹中,其中包含您的应用程序名称。

here也有一些信息。

PS:-尝试通过运行框中的%appdata%访问它!

票数 3
EN

Stack Overflow用户

发布于 2010-02-05 00:52:57

呃,你不能只使用Settings.Default.Reset()来恢复你的默认设置吗?

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1075204

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档