1

我想从配置文件中的 AppSettings 读取键值对,但我看不到我的自定义 AppSettings。我猜程序看不到我的自定义配置文件。对此有什么建议吗?谢谢!由于安全问题,我不想将我的键值对放在设置文件中。

我添加了System.Configuration作为参考,并按照这个答案的建议尝试了下面的代码,但它没有用。

使用 Rhino 6.30.20288.16410 和 .NET Framework 4.6.2

配置文件:

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

代码:

    private static string GetAppSetting(Configuration config, string key)
    {
        KeyValueConfigurationElement element = config.AppSettings.Settings[key];
        if (element != null)
        {
            string value = element.Value;
            if (!string.IsNullOrEmpty(value))
                return value;
        }
        return string.Empty;
    }

    private static string GetConnStr(string key)
    {
        Configuration config = null;
        string exeConfigPath = System.Reflection.Assembly.GetExecutingAssembly().Location;
        try
        {
            config = ConfigurationManager.OpenExeConfiguration(exeConfigPath);
        }
        catch (Exception ex)
        {
            //handle errror here.. means DLL has no sattelite configuration file.
        }

        if (config != null)
        {
            string myValue = GetAppSetting(config, key);
            return myValue;
        }
        return "";
    }
4

0 回答 0