代码之家  ›  专栏  ›  技术社区  ›  ErocM

以不同方式访问设置

  •  0
  • ErocM  · 技术社区  · 6 年前

    我有一个新的(测试)控制台应用程序,我正在尝试访问设置。

    enter image description here

    当我试图通过这种方式访问它时,从我在SO和其他地方读到的内容来看,这应该是可行的:

     var test1 = System.Configuration.ConfigurationManager.AppSettings["MySetting"];
    

    但它没有,它返回null。

    当我这样做时,效果很好:

    var test2 = Properties.Settings.Default.MySetting;
    

    为什么第一个不起作用?我读到的每一篇文章都显示了第一种使用它的方法。

    我是不是用错了?

    编辑

    作为对梅森的回应。

    我对你的评论感到困惑。这个 app.config 是从应用程序的属性设置设置的位置:

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
        <configSections>
            <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
                <section name="ConsoleApp1.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
            </sectionGroup>
        </configSections>
        <startup> 
            <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6" />
        </startup>
        <applicationSettings>
            <ConsoleApp1.Properties.Settings>
                <setting name="MySetting" serializeAs="String">
                    <value>testtesttest</value>
                </setting>
            </ConsoleApp1.Properties.Settings>
        </applicationSettings>
    </configuration>
    
    2 回复  |  直到 6 年前
        1
  •  2
  •   mason Tim Schmelter    6 年前

    System.Configuration.ConfigurationManager.AppSettings 用于从应用程序读取设置。配置或web。配置文件(用于ASP.NET)。它不会读取设置文件。

        2
  •  0
  •   Austin T French    6 年前

    因为 AppSettings 指读取MyApp中的设置。配置