我不明白以下事项:
亲切的问候 PK
答案 0 :(得分:5)
因此默认设置存储在与可执行文件位于同一目录中的<exename>.config
文件中。
您执行的操作无法找到user.config文件,只有在您对默认值进行了更改后才会创建该文件。用户设置会覆盖存储在<exename>.config
文件中的默认值。 如果未进行任何更改,则不存在任何用户配置文件。并且......一旦存在,您将注意到只有已更改的设置才会显示在user.config文件中
要测试这个...在您的设置文件中创建一个名为temp的虚拟变量。当您启动应用程序时:
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"
答案 1 :(得分:0)
app.config文件表示应用程序固有的设置,并将应用于应用程序的所有会话。 * .settings文件通常用于特定于给定用户使用应用程序的设置。
尝试查看Local Settings [«用户名»\ Local Settings \ Application Data \«app name ...»]下的Application Data目录,而不是用户的直接Application Data目录[«username»\ Application数据]。
给定* .settings文件的app.config文件中的设置副本用于在第一次使用这些设置时对其进行初始化;包括添加新设置并且* .settings文件的先前副本尚未具有新设置的情况。
以下是C#中设置的简要介绍链接。