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

Nik*_*kis 23 .net configuration app-config winforms

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

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

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

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

第一次执行程序时保存配置.这导致了一个问题,我无法指定何时创建一个或另一个的场合.

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

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

key*_*rdP 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.