1

私が持っているの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.Count0を返します。

誰かが私が間違っていることについて考えを持っていますか?

4

2 に答える 2

5

これをアプリ構成ファイルに追加するだけです

<appSettings>

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

<appSettings>
于 2012-05-10T11:25:15.753 に答える
2

ConfigurationManager.AppSettingsは、(名前が示すように)構成のブロックを読み取りAppSettingsます。

独自のセクションを作成しvar section = ConfigurationManager.GetSection("Porject.Properties.Settings")た場合は、そのセクションの値を使用して読み取ります。

于 2012-05-10T11:30:05.850 に答える