用户模式.NET设置存储在哪里?

时间:2009-01-22 16:05:51

标签: .net settings

我想知道在.NET中设置文件背后的魔力是什么。 想象一下,你创建了一个在这个例子SettingsHolder中调用的程序集,你创建你的设置类是公共的,在用户模式下有一个字符串,然后你编译。

现在您在MyApp中引用程序集,然后编译然后您可以使用SettingsHolder中生成的设置类更改设置应用程序中的值并保留它们。

现在进入MyApp的输出目录,并且没有设置的跟踪(应用程序配置文件中没有任何内容,程序集中没有任何内容,没有任何内容!)。

发生了什么事?! (我试图在.NET源代码中调试步骤调试,并且反射器看看发生了什么,.NET似乎使用LocalFileSettingsProvider(但它似乎很奇怪,因为MyApp.exe.config中没有任何内容输出目录)。

3 个答案:

答案 0 :(得分:54)

设置文件存储在每个用户的不同位置。要查找它们,请单击开始菜单,单击运行,然后粘贴:

%USERPROFILE%\Local Settings\Application Data\

然后按Enter键。将有一个带有“公司名称”的文件夹(无论它在程序集中设置的是什么),然后是一些更多的子文件夹。设置存储在user.config中。

完整路径:

%USERPROFILE%\Local Settings\Application Data\<Company Name>\
<appdomainname>_<eid>_<hash>\<verison>\user.config.

在Windows Vista及更高版本中,这些文件存储在:

%USERPROFILE%\AppData\Local\

更多信息:

答案 1 :(得分:1)

在操作系统上&gt; = Vista 我会声明它位于此处的用户设置文件:

  

%LOCALAPPDATA%\ yourcompany \ app-name \ .. \ user.config

答案 2 :(得分:-4)

设置文件包含在已编译的程序集中。

编辑:

只是澄清一下。将getset文件中的设置编译到程序集中。值本身将移至Program.exe.config,其中Program是应用程序的名称。 Reflector将让您查看获取的代码并设置值,包括配置文件的硬编码密钥。配置文件本身将显示该值,并允许您在构建应用程序后对其进行更改。