无法读取app.config中的变量

时间:2012-05-10 11:21:42

标签: c# app-config

我在app.config中的内容是

<?xml version="1.0"?>
<configuration>
   <configSections>
      <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
          <section name="Porject.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.0"/></startup>
  <applicationSettings>
    <Porject.Properties.Settings>
        <setting name="PhotoLocation" serializeAs="String">
            <value>.\photos\</value>
        </setting>
    </Porject.Properties.Settings>
</applicationSettings>

<connectionStrings>
   <add name="****" connectionString="Data Source=***;Initial Catalog=****;User ID=***;Password=***" />
</connectionStrings>

</configuration>

这就是我调用PhotoLocation的方式:

  string s = ConfigurationManager.AppSettings["PhotoLocation"];

当我提出获取连接字符串的请求时,没有问题,它工作正常;但当我要求PhotoLocation时,它返回null。 此外ConfigurationManager.AppSettings.Count返回0。

有没有人知道我做错了什么?

2 个答案:

答案 0 :(得分:5)

只需在App配置文件

中添加
<appSettings>

    <add key="PhotoLocation" value=".\photos\"/>

<appSettings>

答案 1 :(得分:2)

ConfigurationManager.AppSettings读取(顾名思义)您配置的AppSettings块。

鉴于您已创建自己的部分,您希望使用var section = ConfigurationManager.GetSection("Porject.Properties.Settings")并阅读该部分中的值。