我不明白下面的事情:Visual Studio设置文件 - 它是如何工作的?
- 是什么的app.config(applicationname.exe.config),并设置文件之间的区别?
- 我无法找到特定帐户下在Windows7 AppData目录的* .settings文件(我听说它应该位于某处那边)?
- 让我们假设* .settings文件在硬盘上的某个地方。为什么在开发时将设置文件中的数据复制到应用程序配置文件?
亲切的问候 PK
我不明白下面的事情:Visual Studio设置文件 - 它是如何工作的?
亲切的问候 PK
app.config文件表示设置固有的应用程序,并且将应用到应用程序的所有会议。 * .settings文件通常用于特定用户使用应用程序的特定设置。
尝试在本地设置[«用户名»\本地设置\应用程序数据\«应用程序名称...»]下的应用程序数据目录中查找,而不是用户的直接应用程序数据目录[«username»\ Application Data ]。
的设置在一个给定* .settings文件app.config文件副本用于初始化它的第一次使用这些设置;包括添加新设置并且* .settings文件的先前副本还没有新设置的情况。
这里是一个链接,简要介绍C#中的设置。
所以默认设置存储在位于同一目录中的可执行文件<exename>.config
。
你找不到user.config文件的原因是,如果你已经更改了默认它只是创建。用户设置将覆盖存储在<exename>.config
文件中的默认值。 如果没有更改,则不存在用户配置文件。而且......一旦它确实存在,您会注意到只有已更改的设置才会显示在user.config文件中。
为了测试这个......创建一个名为就像在你设置文件的临时虚拟变量。当你启动应用程序做:
Settings1.Default.temp = Settings1.Default.temp + 1;
Settings1.Default.Save();
现在,您将有一个名为user.config在用户的ApplicationData文件夹,它在Vista中创建:C:\Users\<username>\AppData\Local\<company>\<productname>
下面是一些代码,我写来帮助识别凡在不同操作系统上的各种SpecialFolder。(可能想要做一个查找替换为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"
的问题是,设置文件不存在。在下列位置没有应用程序目录:«用户名»\ Local Settings \ Application Data \:/我正在使用Windows 7. – pkolodziej 2009-06-16 16:28:44
尝试使用«用户名»\ AppData \ Local。该文件夹可能隐藏,但应该存在。您可以在资源管理器视图中取消隐藏项目。 – meklarian 2009-06-16 17:01:36