我不明白以下几点:
- 是什么的app.config(applicationname.exe.config),并设置文件之间的区别?
- 我无法找到特定帐户下在Windows7 AppData目录的* .settings文件(我听说它应该位于某处那边)?
- 让我们假设* .settings文件在硬盘上的某个地方。 为什么在开发时间从设置文件中的数据复制到应用程序配置文件?
亲切的问候PK
我不明白以下几点:
亲切的问候PK
因此, 默认设置都存储在<exename>.config
位于同一目录中的可执行文件。
你找不到user.config文件的原因是,如果你已经更改了默认它只是创建。 用户设置将覆盖其存储在缺省值<exename>.config
文件。 如果没有修改过,那么没有用户配置文件将存在。 并且......一旦它确实存在,你会发现,只有已更改的设置将在user.config文件中显示出来。
为了测试这个......创建一个名为就像在你设置文件的临时虚拟变量。 当你启动应用程序做的:
Settings1.Default.temp = Settings1.Default.temp + 1;
Settings1.Default.Save();
现在,您将在用户的的ApplicationData文件夹中创建一个名为user.config这在Vista中: C:\Users\<username>\AppData\Local\<company>\<productname>
下面是一些代码,我写来帮助识别,所有的各种SpecialFolders其中在不同的操作系统。 (可能想要做一个查找替换为log.Debug
,代之以Console.WriteLine
)
log.Debug("SpecialFolder.ApplicationData: " + Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData ));
log.Debug("SpecialFolder.CommonApplicationData: " + Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData ));
log.Debug("SpecialFolder.ProgramFiles: " + Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles));
log.Debug("SpecialFolder.CommonProgramFiles: " + Environment.GetFolderPath(Environment.SpecialFolder.CommonProgramFiles ));
log.Debug("SpecialFolder.DesktopDirectory: " + Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory ));
log.Debug("SpecialFolder.LocalApplicationData: " + Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData ));
log.Debug("SpecialFolder.MyDocuments: " + Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments ));
log.Debug("SpecialFolder.System: " + Environment.GetFolderPath(Environment.SpecialFolder.System ));
输出在Windows Server 2003:
SpecialFolder.ApplicationData: "C:\Documents and Settings\blake\Application Data"
SpecialFolder.CommonApplicationData: "C:\Documents and Settings\All Users\Application Data"
SpecialFolder.ProgramFiles: "C:\Program Files"
SpecialFolder.CommonProgramFiles: "C:\Program Files\Common Files"
SpecialFolder.DesktopDirectory: "C:\Documents and Settings\blake\Desktop"
SpecialFolder.LocalApplicationData: "C:\Documents and Settings\blake\Local Settings\Application Data"
SpecialFolder.MyDocuments: "C:\Documents and Settings\blake\My Documents"
SpecialFolder.System: "C:\WINDOWS\system32"
在Vista上输出:
SpecialFolder.ApplicationData: "C:\Users\blake\AppData\Roaming"
SpecialFolder.CommonApplicationData: "C:\ProgramData"
SpecialFolder.ProgramFiles: "C:\Program Files"
SpecialFolder.CommonProgramFiles: "C:\Program Files\Common Files"
SpecialFolder.DesktopDirectory: "C:\Users\blake\Desktop"
SpecialFolder.LocalApplicationData: "C:\Users\blake\AppData\Local"
SpecialFolder.MyDocuments: "C:\Users\blake\Documents"
SpecialFolder.System: "C:\Windows\system32"
App.config文件表示设置固有的应用程序,并且将应用到应用程序的所有会议。 在* .settings文件通常用于针对特定的用户使用的应用程序的设置。
试看看本地设置[«用户名»\本地设置\应用数据\«应用程序名称...»]下的应用程序数据目录,而不是用户的直接应用程序数据目录[«用户名»\应用数据。
在一个给定* .settings文件app.config文件中的设置复制用于初始化它的第一次使用这些设置; 包括在添加新的设置情况和之前的* .settings文件的副本,没有新的设置呢。
这是在C#中的链接,设置一个简短的步行通过。
使用C#中设置(MSDN)