ライブラリの構成設定の提供: App.config の代替手段
実行可能アプリケーションとは異なり、ライブラリ (DLL) は、 app.config ファイル。ただし、ライブラリを使用するアプリケーション間の互換性を確保しながら、ライブラリに固有の構成設定を保存することは可能です。
別個の構成ファイルの利用
1 つのアプローチは、 DLL に付随する別の構成ファイル。ファイル名は、DllName.dll.config という特定の規則に従います。 app.config とは異なり、このファイルはアプリケーションによって自動的にロードされません。
構成ファイルをロードして読み取るには、カスタム関数を定義できます。
string GetAppSetting(Configuration config, string key) { // Retrieve the configuration element for the specified key KeyValueConfigurationElement element = config.AppSettings.Settings[key]; // Check if the element exists and has a non-empty value if (element != null && !string.IsNullOrEmpty(element.Value)) return element.Value; // Return an empty string if the key does not exist or has no value return string.Empty; }
この関数を使用するには、 Configuration クラスのインスタンスを取得して GetAppSetting に渡すことができます。
Configuration config = null; // Determine the location of the executable's configuration file string exeConfigPath = this.GetType().Assembly.Location; // Attempt to load the configuration file try { config = ConfigurationManager.OpenExeConfiguration(exeConfigPath); } catch (Exception ex) { // Handle the error here, indicating that the DLL has no satellite configuration file } if (config != null) { // Read a setting using the custom function string myValue = GetAppSetting(config, "myKey"); // ... Use the setting as needed }
System.Configuration 名前空間への参照を忘れずに含めてください。そして、.config ファイルの [出力ディレクトリにコピー] プロパティを [常にコピー] に設定して、DLL を使用して展開できるようにします。
以上がapp.config を使用せずにライブラリが構成設定にアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。