我们已经创建了一个WinForms应用程序,并通过ConfigurationManager类存储了一些配置。为了存储我使用的信息
Configuration pConfig = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
pConfig.AppSettings.Settings.Add("updates", szUpdatesURL);
pConfig.Save(ConfigurationSaveMode.Modified);
这里的问题是,在某些情况下,应用程序会创建"appname".config文件,而在其他情况下,会创建"appname".exe.config。
在这里我必须指出,默认情况下配置文件并不是必需的,因为它并不总是必需的。
配置在第一次执行程序时保存。这给我们带来了一个问题,我不能指定在什么情况下创建一个或另一个。
我在同一台pc上用完全相同的.exe进行了测试,得到了两个结果。这里发生了什么事?
这两者之间有什么区别,我如何指定应该创建哪一个?非常感谢
发布于 2010-02-01 09:49:51
"appname.exe.config“是在编译应用程序时自动创建的。这是应该分发给最终用户的文件(当然还有exe文件)。您在appname.config中设置的设置将传输到appname.exe.config。They are essentially the same files
。appname.config存在的原因是因为当可执行文件运行时,它的配置文件就是带有.config
后缀的可执行文件名。但是,如果更改了可执行文件的名称,则必须手动更改exe.config文件的名称。因此,通过在编译时自动重命名,app.config可以将其名称更改为newappname.exe.config文件,而CLR仍然会拾取它。您可能会发现appname.exe.config文件是在bin目录中创建的。我希望这是清楚的:)下面的链接可能会更深入地解释它。
https://stackoverflow.com/questions/2173283
复制相似问题