.NET クラス ライブラリの構成設定へのアクセス
このガイドでは、.NET クラス ライブラリ内の app.config
または web.config
から構成設定を取得する方法について説明します。 廃止された ConfigurationSettings.AppSettings.Get()
メソッドの使用は避けてください。
推奨されるアプローチ (注意事項あり):
ConfigurationManager.AppSettings["MySetting"]
は一般的に推奨されますが、追加の手順を行わないとクラス ライブラリ プロジェクトから直接アクセスすることはできません。
解決策:
クラス ライブラリの構成設定にアクセスするには、次の手順に従います。
参照の追加: クラス ライブラリ プロジェクトの System.Configuration
への参照を追加します。
カスタム セクション ハンドラーの作成: ConfigurationSectionHandler
を継承し、その Create
メソッドをオーバーライドするクラスを作成します。このカスタム ハンドラーを使用すると、構成セクションにアクセスできるようになります。
カスタム セクションの登録: <configSections>
または app.config
ファイルの web.config
要素内にカスタム セクションを登録します。
例:
「MySettings」という名前のセクションを読みたいとします。
カスタム セクション ハンドラー (例: MySettingsHandler.cs
):
<code class="language-csharp">using System.Configuration; public class MySettingsHandler : ConfigurationSectionHandler { public override object Create(object parent, object configContext, System.Xml.XmlNode section) { var settings = new MySettingsSection(); // Populate settings from the XML node (section) here, based on your config structure. Example below assumes a single string setting. settings.MySetting = section.Attributes["mysetting"]?.Value; return settings; } } // Define a class to hold your settings public class MySettingsSection { public string MySetting { get; set; } }</code>
設定ファイル (app.config または web.config):
<code class="language-xml"><configuration> <configSections> <section name="mySettings" type="MySettingsHandler, YourAssemblyName" /> </configSections> <mySettings mysetting="YourSettingValue" /> </configuration></code>
"YourAssemblyName"
をクラス ライブラリ アセンブリの実際の名前に置き換えます。
クラス ライブラリの設定へのアクセス:
<code class="language-csharp">var settings = (MySettingsSection)ConfigurationManager.GetSection("mySettings"); string mySettingValue = settings.MySetting;</code>
このアプローチにより、.NET クラス ライブラリから構成設定に安全かつ正しくアクセスできるようになります。 特定の構成構造に一致するようにカスタム セクション ハンドラーと構成ファイルを必ず調整してください。
以上が.NET クラス ライブラリの app.config または web.config から構成設定を読み取る方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。