在.NET中使用Settings.settings文件时,配置实际存储在哪里?我想删除保存的设置以恢复到默认状态,但找不到它的存储位置...有什么想法吗?
发布于 2009-07-02 16:28:44
假设您谈论的是桌面而不是web应用程序:
向项目添加设置时,VS会在项目目录中创建一个名为app.config
的文件,并将设置存储在该文件中。它还构建Settings.cs
文件,该文件为各个设置提供静态访问器。
在编译时,VS将(默认情况下;您可以更改此设置)将app.config
复制到构建目录,更改其名称以匹配可执行文件(例如,如果您的可执行文件名为foo.exe
,则文件将命名为foo.exe.config
),这是.NET配置管理器在运行时检索设置时查找的名称。
如果您通过VS设置编辑器更改设置,它将同时更新app.config
和Settings.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
。请注意,如果您为程序指定了一个强名称,则该强名称将附加到此路径中的程序名之后。
发布于 2009-07-02 16:02:12
它位于用户主文件夹( xp上的C:\documents and settings\user和Windows Vista上的c:\users\user )下的Application Data文件夹中,其中包含您的应用程序名称。
here也有一些信息。
PS:-尝试通过运行框中的%appdata%访问它!
发布于 2010-02-05 00:52:57
呃,你不能只使用Settings.Default.Reset()来恢复你的默认设置吗?
https://stackoverflow.com/questions/1075204
复制相似问题