2009-06-29 107 views
13

AppSettingsセクションとAppSettingsセクションの違いをApp.Configファイルに説明してください。明らかに同じことをする2つのセクションがあるのはなぜですか?ApplicationSettingsセクションとAppSettingsセクションの違いは何ですか?

+0

「アプリケーション設定」はどこに表示されますか?私はそれが有効な設定セクションだとは思わない。あなたは例を投稿できますか? – alanquillin

+1

申し訳ありませんが、アプリケーション設定ではなくApplicationSettingsを意味します。 – Calanus

答えて

18

私は次のようにあなたのapp.configを/ web.configファイル内<appsettings/>コレクションは、あなたがキーと値のペアの設定を保存することができます、とSystem.ConfigurationのAPIを介してアクセスされることを信じて:

string setting = System.Configuration.ConfigurationManager.AppSettings["settingName"];

設定は、文字列値としてのみ保存および取得できます。
これらはSystem.Configuration.ConfigurationSettingsからアクセスすることもできますが、この方法は推奨されていません。

設定ファイルの<ApplicationSettings/>コレクションは厳密な型指定で設定を保存し、強く型付けされた方法でこれらの設定にアクセスすることもできます。 VSは自動的にラッパークラスを生成します。settings.settingsファイルプロパティプロジェクトのフォルダです。設定ファイルをプロジェクトに追加するには、プロジェクトを右クリックし、プロパティをクリックし、次に設定タブを開きます。次に、リンクをクリックして新しい設定ファイルを追加します。 VSが自動的に生成します。それは簡単です。

次のようにあなたは通常、あなたの設定にアクセス:

MyProjectName.Properties.Settings.Default.SettingName

は、2つのコレクションへのアクセス方法の違いに注目してください。

設定を保存する2番目の(非推奨)方法は、これを実行するためのより良い方法であり、多くの柔軟性とパワーを提供します。しかし、それはいくつかの学習を取るが、それは努力の価値がある。

+10

"上記のやり方は廃止されました。" System.Configuration.ConfigurationSettings.AppSettingsは廃止予定ですが、System.Configuration.ConfigurationManager.AppSettingsに置き換えられました。 設定セクションの使用は推奨されていません。 – Joe

+0

ああそう!その説明をありがとう。 – Calanus

+0

ほとんど@ジョーの補遺を逃した。すべてのコメントを読まない人のために元の投稿に追加しました。 –

0

これは、私たちが大好きな下位互換性と関係しています。 ApplicationSettingsは新しい構文です。

新しいConfigurationManagerクラスとWebConfigurationManagerクラスを使用して設定してください。これを行うには、System.ConfigurationではなくSystem.configurationという参照が必要です。

ある時点で、少しばかげてしまいました。

関連する問題