我想知道在.NET中设置文件背后的魔力是什么。
想象一下,你创建了一个在这个例子SettingsHolder
中调用的程序集,你创建你的设置类是公共的,在用户模式下有一个字符串,然后你编译。
现在您在MyApp中引用程序集,然后编译然后您可以使用SettingsHolder
中生成的设置类更改设置应用程序中的值并保留它们。
现在进入MyApp的输出目录,并且没有设置的跟踪(应用程序配置文件中没有任何内容,程序集中没有任何内容,没有任何内容!)。
发生了什么事?! (我试图在.NET源代码中调试步骤调试,并且反射器看看发生了什么,.NET似乎使用LocalFileSettingsProvider
(但它似乎很奇怪,因为MyApp.exe.config
中没有任何内容输出目录)。
答案 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)
设置文件包含在已编译的程序集中。
只是澄清一下。将get
和set
文件中的设置编译到程序集中。值本身将移至Program.exe.config
,其中Program
是应用程序的名称。 Reflector将让您查看获取的代码并设置值,包括配置文件的硬编码密钥。配置文件本身将显示该值,并允许您在构建应用程序后对其进行更改。