Bereitstellung von Konfigurationseinstellungen für Bibliotheken: Eine Alternative zu App.config
Im Gegensatz zu ausführbaren Anwendungen haben Bibliotheken (DLLs) keinen direkten Zugriff darauf die app.config-Datei. Es ist jedoch möglich, spezifische Konfigurationseinstellungen für eine Bibliothek zu speichern und gleichzeitig die Kompatibilität zwischen Anwendungen sicherzustellen, die sie verwenden.
Verwendung einer separaten Konfigurationsdatei
Ein Ansatz besteht darin, eine separate Konfigurationsdatei zu erstellen eine separate Konfigurationsdatei, die der DLL beiliegt. Der Dateiname folgt einer bestimmten Konvention: DllName.dll.config. Im Gegensatz zu app.config wird diese Datei nicht automatisch von der Anwendung geladen.
Um die Konfigurationsdatei zu laden und zu lesen, können Sie eine benutzerdefinierte Funktion definieren:
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; }
Um diese Funktion zu verwenden, Sie können eine Instanz der Configuration-Klasse abrufen und an GetAppSetting übergeben:
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 }
Denken Sie daran, einen Verweis auf den System.Configuration-Namespace einzufügen und die Option „Copy Legen Sie die Eigenschaft „To Ausgabeverzeichnis“ der .config-Datei auf „Immer kopieren“ fest, um die Bereitstellung mit der DLL sicherzustellen.
Das obige ist der detaillierte Inhalt vonWie können Bibliotheken auf Konfigurationseinstellungen zugreifen, ohne app.config zu verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!