【问题标题】:ConfigurationManager.AppSettings["KeyName"] not returning any valueConfigurationManager.AppSettings["KeyName"] 不返回任何值
【发布时间】:2015-04-24 13:56:23
【问题描述】:

在我的app.config 中,我添加了一个带有值的键

<add key="KeyName" value="someValue" />

但是在我的 Windows 窗体中,当我尝试使用配置管理器访问它时,它没有返回任何内容

ConfigurationManager.AppSettings["KeyName"]

这有空值 我也没有在 app.config 中添加任何 web.config 或连接字符串,但我的 ConfigurationManager.connectionString 返回一些值!!

可能是什么问题?我应该改变什么?

附言 我添加了对system.configuration 的引用并将其添加到命名空间中 它是一个 excel 加载项,并且只有一个具有 app.config 的类库

【问题讨论】:

  • 这是网站的一部分吗?您尝试访问的 app.config 文件是添加到此解决方案的项目的一部分
  • 不,它是一个 excel 加载项,并且只有一个具有 app.config 的类库
  • 假设您有一个 DLL 项目。并且您将 app.config 添加到此 DLL 项目中。假设您有一个使用 DLL 项目的 Windows 服务项目。如果您尝试通过 Windows 服务读取 DLL 项目中的 app.config,它会查找 app.config 的 Windows 服务项目根目录,因为应用程序从那里启动。尝试将您的配置条目添加到首先执行的 app.config 中。 Windows 服务,在我的示例中。

标签: c# .net


【解决方案1】:

您需要将您使用的所有配置放在属于主机应用程序(生成可执行文件的文件)的 app.config 文件中。 如果您将配置放在 dll 配置文件中,它们将不会在运行时自动获取,您必须使用类似于本文中的代码动态加载这些配置。不确定这是否是您的问题。 Reading dll.config (not app.config!) from a plugin module 至于连接是从哪里来的,是从机器配置文件来的 %windir%\Microsoft.NET\Framework64[版本]\config\machine.config

如果您安装了包含 express 的 SQL Server,则会将连接字符串添加到此文件中

【讨论】:

    【解决方案2】:

    您是否检查过您的应用程序是否返回其他 AppSetting 值?

    静态无效 ReadAllSettings() { 尝试 { var appSettings = ConfigurationManager.AppSettings;

                if (appSettings.Count == 0)
                {
                    Console.WriteLine("AppSettings is empty.");
                }
                else
                {
                    foreach (var key in appSettings.AllKeys)
                    {
                        Console.WriteLine("Key: {0} Value: {1}", key, appSettings[key]);
                    }
                }
            }
            catch (ConfigurationErrorsException)
            {
                Console.WriteLine("Error reading app settings");
            }
        }
    

    【讨论】:

    • 我里面只有一个键和一个值,它没有读取它
    猜你喜欢
    • 2021-09-17
    • 2013-08-30
    • 2018-10-02
    • 2014-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-20
    • 2016-04-18
    相关资源
    最近更新 更多