【问题标题】:'System.Configuration.ConfigurationSettings.AppSettings' is obsolete'System.Configuration.ConfigurationSettings.AppSettings' 已过时
【发布时间】:2011-04-26 22:53:13
【问题描述】:

我收到以下警告

'System.Configuration.ConfigurationSettings.AppSettings' 已过时: '"此方法已过时,已被替换为 System.Configuration!System.Configuration.ConfigurationManager.AppSettings"'

你是怎么解决的?

【问题讨论】:

    标签: c# visual-studio class class-library


    【解决方案1】:

    添加对程序集System.Configuration的引用。

    然后在顶部(假设 C#)使用 System.Configuration(在 VB.NET 中导入 System.Configuration)。

    使用ConfigurationManager.AppSettings["MySetting"] 访问设置!

    【讨论】:

    • 很难找到这个问题的答案。我只是错过了参考。谢谢@Mike
    • 非常感谢!你是救世主。
    • 关于 GOTCHA 的注意事项 -> 我有对程序集的引用,但项目已更新到版本 4,并且引用仍在使用旧版本。我需要明确添加引用。
    • 为什么 Microsoft 会用需要您添加对程序集的引用的东西来淘汰那些“开箱即用”的东西?
    • 在 .NET Core 5.0 中,System.Configuration 不存在。 :(
    【解决方案2】:

    作为一个警告,我认为这并不重要,除非您关闭了将警告视为错误设置

    添加对 System.Configuration 的引用

    您所要做的就是更新到您使用ConfigurationSettings.AppSettings[""] change to ConfigurationManager.AppSettings[""]的最新代码

    这应该可以工作

    【讨论】:

    • ConfigurationManager - 不存在,它在哪里?
    • 添加对 system.Configuration 的引用,然后它将起作用-我会为此更新我的答案
    • 即使添加了 ref 也找不到 configurationManager :-(
    • @yoosafinpace 如果您在控制库中或项目外使用ConfigurationManager。它会抛出错误。
    【解决方案3】:

    以防万一其他人正在寻找 添加参考 选项以在 Visual Studio 2010 中获得公认的答案。 (我必须在更新 VB 项目时这样做)。

    在 Visual Studio 2010 中:

    1. 点击项目> 添加参考
    2. 单击 C# 选项卡(尽管我的项目是纯 VB 项目)
    3. 向下滚动到一半找到 System.Configuration(我有 v4,因为选择了 .NET Framework 4.0 版本)
    4. 单击确定,然后根据给出的建议更新代码行。

    来自 System.Configuration.Configuration设置.AppSettings("name") 到 System.Configuration.ConfigurationManager.AppSettings

    如果不添加引用,IntelliSense 在您键入时不会建议 ConfigurationManager,这是因为它没有引用来知道它在哪里。这也是为什么您在根据他们的建议更新代码行时会出错的原因。

    【讨论】:

    • 非常感谢~来自未来的家伙
    • 谢谢先生!你为我节省了很多时间。
    【解决方案4】:

    System.configuration DLL 存在于 c:\Windows\Microsoft.NET\Framework\v2.0.50727\

    【讨论】:

      【解决方案5】:

      在类的顶部添加引用using System.Configuration; 之后。仍然存在相同的警告。

      在代码背后:

      而不是ConfigurationSettings.AppSettings["ConnectionString"]

      使用ConfigurationManager.AppSettings["ConnectionString"]

      默认情况下,System.configuration Dll 将添加到您的项目中。

      在 Web.config 或 App.config 中:

       <add key="ConnectionString" value="Some Connection Strings or Specific Path"/>
      

      【讨论】:

      • 呃,这不正是他接受的答案(从 2010 年开始)所说的吗?
      • 是的,只是检查一下。警告仍然保持不变。我已经检查了 VS2010 和 VS2012。 @Christian.K
      • @RJK 只需检查他接受的答案。答案明确表示“使用 ConfigurationManager.AppSettings["MySetting"] 访问设置!”我已经检查了 Chrome 和 IE 9。
      【解决方案6】:

      使用ConfigurationManager.AppSettings[""] 添加参考程序集不使用using System.Configuration;

      【讨论】:

        【解决方案7】:

        只需替换
        System.Configuration.ConfigurationSettings.AppSettings

        System.Configuration!System.Configuration.ConfigurationManager.AppSettings
        在你的代码中。

        【讨论】:

          【解决方案8】:

          您必须在项目中添加 System.onfiguration 的引用,然后添加“Using System.onfiguration;”

          下一步使用如下:

          private string SQLConnectionString = ConfigurationManager.AppSettings["SQlConnectionString"]; 
          

          【讨论】:

            【解决方案9】:

            示例:

            替换

            string smtpServer = System.Configuration.ConfigurationSettings.AppSettings["EmailServer"];
            

            string smtpServer = ConfigurationManager.AppSettings["EmailServer"];
            

            还要确保在您添加的案例顶部:

            using System.Configuration;
            

            【讨论】:

              【解决方案10】:

              上面说的很简单,只需要为应用添加一个引用“System.Configuration”,在代码中你可以在代码顶部添加“using System.Configuration”并使用“ConfigurationManager.AppSettings[”” ]" 在你需要的地方。

              【讨论】:

                【解决方案11】:

                我也面临同样的问题,有时程序集引用未正确加载,或者如果您使用多个项目,有时会出现问题。您只需添加对程序集的引用。右键单击>添加引用>.Net>System.configuration>单击确定 您现在可以看到有许多配置选项可用选择 ConfigurationManager.AppSetting["Con"].ToString();

                建立并微笑:)

                【讨论】:

                  【解决方案12】:

                  我在 C# 项目中遇到了同样的问题,我通过在标记中的 XML 文件(预期为驼峰式)中编写 appSettings 而不是 AppSettings 来修复它

                  <appSettings>
                    <add key="myKey" value="my Value"/>
                  <appSettings>
                  

                  毕竟 C# 是区分大小写的

                  【讨论】:

                    猜你喜欢
                    • 1970-01-01
                    • 2019-05-30
                    • 1970-01-01
                    • 2018-05-01
                    • 2011-08-02
                    • 2011-10-10
                    • 2019-06-09
                    • 2015-09-30
                    相关资源
                    最近更新 更多