什么时候创建app.config,当app.exe.config和有什么区别

时间:2010-01-31 20:53:32

标签: .net winforms configuration app-config

我们已经创建了一个WinForms应用程序并通过ConfigurationManager类存储了一些配置。为了存储我使用的信息

Configuration pConfig = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
pConfig.AppSettings.Settings.Add("updates", szUpdatesURL);
pConfig.Save(ConfigurationSaveMode.Modified);

这里的问题是,在某些情况下,应用程序会创建一个“appname”.config文件,在其他情况下会创建一个“appname”.exe.config。

我必须注意,默认情况下不会发送配置文件,因为并非总是需要它。

第一次执行程序时保存配置。这导致了我们的问题,我无法指定创建其中一个或哪个的时机。

我在同一台电脑上执行了测试,使用完全相同的.exe,我得到了两个结果。这里发生了什么?

两者之间有什么区别,我该如何指定应该创建哪一个? 非常感谢

1 个答案:

答案 0 :(得分:27)

编译应用程序时会自动为您创建“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目录中创建的。 我希望这很明确:)下面的链接可以更深入地解释它。

有一个很好的解释here。另一个好的读物是CodePlex

相关问题