c# - App.config放置和访问

时间:2012-10-30 08:08:43

标签: c# app-config config

我创建了一个使用App.Config的c#.net应用程序。 调试时一切正常。 我可以访问该文件进行读写。

但是当我为我的应用程序创建一个安装程序时,写入部分不再起作用了。

这是因为应用程序安装在程序文件中。并且你不能写入de program files文件夹......

我想到了将app.config放在de AppData文件夹中的解决方案,但我无法让它工作。

我想知道的是如何指示我的安装程序将文件放在正确的位置以及如何创建正确的函数以将其写在该位置。

这是我到目前为止所做的:

 public static void WriteValue(string key, string value)
 {
    string configPath = System.Environment.GetFolderPath(
                                                         Environment.SpecialFolder.ApplicationData) + 
                        "\\Application\\app.config";

    ExeConfigurationFileMap map = new ExeConfigurationFileMap(configPath);

    // Open App.Config of executable
    Configuration config = ConfigurationManager.OpenMappedExeConfiguration(map, 
                                                                           ConfigurationUserLevel.None);

    // Add an Application Setting.
    config.AppSettings.Settings.Remove(key);
    config.AppSettings.Settings.Add(key, value);
    // Save the configuration file.
    config.Save(ConfigurationSaveMode.Modified);
    // Force a reload of a changed section.
    ConfigurationManager.RefreshSection("appSettings");
}

先谢谢你们

1 个答案:

答案 0 :(得分:1)

文件App.config是开发过程中使用的名称,在调试期间,VS读取它就好了。

但是当您在工作室外运行可执行文件YourProgram.exe时,它会搜索名为YourProgram.exe.config的文件

希望它有所帮助。