将设置存储在配置文件中

本文关键字:配置文件 存储 设置 | 更新日期: 2023-09-27 18:31:35

尝试将所有数据保存到配置文件中,然后在运行时读取它并应用于我的程序 - 作为用户首选项。做什么:创建新的配置文件(使用添加新元素>添加congif文件)。在这个文件中放置简单的代码

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <appSetting>
        <add Key="Volume" value="100" />
    </appSetting>
</configuration>

创建方法后

public int GetVolumeFromConfigFile()
    {
        return  Convert.ToInt32(ConfigurationManager.AppSettings.Get("Volume"));
    }

并在主程序中称它为像

Value = (MyClass.GetVolumeFromConfigFile());

但这不是工作。(在去袋期间,它什么也不返回)

认为这可能是几个原因:

  1. 我需要添加(我现在不知道以什么方式)要使用的配置文件,因为我有几个文件 *.config - 一个默认(App.exe.config,另一个 - 我创建)
  2. 我使用不正确的方法从配置文件中获取值

我还阅读了另一种存储应用程序设置的方法,例如将其存储在 *.settings 文件中我做错了什么,更喜欢什么方法?

其他信息 - 使用 net 4.0

编辑

删除我的配置文件,并添加到现有的几行(在 strong>)

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <configSections>
        <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
            <section name="PlayDemo.SettingsPlayIt" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
       </sectionGroup>
    </configSections>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
    </startup>
    <userSettings>
        <PlayDemo.SettingsPlayIt>
            <setting name="Volume" serializeAs="String">
                <value>10</value>
            </setting>
        </PlayDemo.SettingsPlayIt>
    </userSettings>

在这里我添加我的钥匙

    <appSetting>
        <add key="Volume" value="100" />
    </appSetting>
</configuration>

将设置存储在配置文件中

试试这个:

<?xml version="1.0" encoding="utf-8" ?>
   <configuration>
      <appSettings>
         <add key="Volume" value="100" />
      </appSettings>
   </configuration>

return  Convert.ToInt32(ConfigurationManager.AppSettings["Volume"]);

appSettings 是键值对,因此您可以像访问字典中的值一样访问它

如果要使用单独的配置文件,请尝试以下操作:

Dim config As System.Configuration.Configuration = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None)
config.AppSettings.File = "yourFileName"'tell Configuration what file to read
config.Save(ConfigurationSaveMode.Modified) ' save the Configuration setting
ConfigurationManager.RefreshSection("appSettings") ' update just the <appSettings> node

我真的很喜欢以下技术,使用 ConfigurationSection .这使您可以轻松操作配置。但它在前期更具体。

http://msdn.microsoft.com/en-us/library/2tw134k3%28v=vs.90%29.aspx