从app.config文件读取

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (51)

我正在尝试使用代码从下面的app.config文件中读取StartingMonthColumn和CategoryHeadingColumn

ConfigurationSettings.AppSettings["StartingMonthColumn"]

但它返回null,ConfigurationSettings.AppSettings.Count也返回零

请帮助我在我的Windows应用程序中阅读此内容

<configuration>
    <configSections>
        <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
            <section name="CTARepository.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
        </sectionGroup>
    </configSections>
    <userSettings>
        <CTARepository.Properties.Settings>
            <setting name="Setting" serializeAs="String">
                <value />
            </setting>
        </CTARepository.Properties.Settings>
    </userSettings>
    <appSettings>
        <add key="StartingMonthColumn" value="7"/>
        <add key="CategoryHeadingColumn" value="1"/>
    </appSettings>
</configuration>
提问于
用户回答回答于

ConfigurationSettings.AppSettings已弃用,请参阅此处:

http://msdn.microsoft.com/en-us/library/system.configuration.configurationsettings.appsettings.aspx

这就是说,它应该仍然有效。

只是一个建议,但你确认你的应用程序配置是你的可执行文件正在使用的吗?

尝试附加调试器并检查以下值:

AppDomain.CurrentDomain.SetupInformation.ConfigurationFile

然后打开配置文件并验证该部分是否如您所料。

用户回答回答于

配置设置 .AppSettings过时,您应该使用Configuration Manager .AppSettings(将需要添加对System.Configuration的引用)

int value = Int32.Parse(ConfigurationManager.AppSettings["StartingMonthColumn"]);

如果您在阅读应用设置时仍然遇到问题,请检查您的app.config文件是否正确命名。具体来说,它应该根据正在执行的程序集进行命名MyApp.exe.config,并且应该位于与MyApp.exe

所属标签

可能回答问题的人

  • 嗨喽你好

    7 粉丝480 提问9 回答
  • 富有想象力的人

    3 粉丝0 提问7 回答
  • uncle_light

    5 粉丝518 提问6 回答
  • 人生的旅途

    10 粉丝484 提问6 回答

扫码关注云+社区

领取腾讯云代金券