C# 软件配置保存-app.config

C# 软件配置保存-app.config_第1张图片
首先检查现有项目中是否有app.config文件,如果没有,则按照下面方式添加。
C# 软件配置保存-app.config_第2张图片

C# 软件配置保存-app.config_第3张图片

需要用using System.Configuration; 如果引用没有,则需要按如下步骤添加引用。
C# 软件配置保存-app.config_第4张图片
C# 软件配置保存-app.config_第5张图片


<configuration>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2" />
    startup>
configuration>

添加后:


<configuration>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2" />
    startup>

  <appSettings>
    <add key="SystemSettingPageAcraneIMUPort" value="0"/>
    <add key="SystemSettingPageLoadIMUPort" value="1"/>
    <add key="SystemSettingPageRTKPort" value="2"/>
    <add key="SystemSettingPageTensionPort" value="3"/>
    <add key="SystemSettingPageTensionAlarm" value="10"/>
    <add key="SystemSettingPagePositionAlarm" value="1"/>
  appSettings>
configuration>

读:

        private void LoadAppConfig()
        {
            textBoxTensionAlarm.Text = ConfigurationManager.AppSettings["SystemSettingPageTensionAlarm"];
            textBoxPositionAlarm.Text = ConfigurationManager.AppSettings["SystemSettingPagePositionAlarm"];            
        }

点击保存后更改或添加(没有的话就添加):

        private void buttonAlarmValueSave_Click(object sender, EventArgs e)
        {
            AddUpdateAppSettings("SystemSettingPageTensionAlarm", textBoxTensionAlarm.Text);
            AddUpdateAppSettings("SystemSettingPagePositionAlarm", textBoxPositionAlarm.Text);
        }

        private void AddUpdateAppSettings(string key, string value)
        {
            try
            {
                var configFile = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
                var settings = configFile.AppSettings.Settings;
                if (settings[key] == null)
                {
                    settings.Add(key, value);
                }
                else
                {
                    settings[key].Value = value;
                }
                configFile.Save(ConfigurationSaveMode.Modified);
                ConfigurationManager.RefreshSection(configFile.AppSettings.SectionInformation.Name);
            }
            catch (ConfigurationErrorsException)
            {
                Console.WriteLine("Error writing app settings");
            }
        }

note:注意!!!在调试的时候开发的应用程序并不会对App.config文件进行更改,查阅微软官方文档后发现,程序在调试的时候Visual Studio 会把App.config文件拷贝到执行文件夹下,文件名被更改为程序名.exe.Config。如果为了开发时同步,应该在每次调试后把该文件的内容反拷回来以保持最新状态。
该部分在官方文档中表述如下:
In Visual Studio projects, place the .config file in the project directory and set its Copy To Output Directory property to Copy always or Copy if newer. Visual Studio automatically copies the file to the directory where it compiles the assembly.
该段描述可以在这里找到。

你可能感兴趣的:(C#)