Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Mengurus Tetapan Konfigurasi untuk DLL yang Digunakan Merentas Berbilang Aplikasi?
Soalan:
Bagaimanakah seseorang boleh menyimpan tetapan konfigurasi khusus untuk DLL yang boleh digunakan merentasi pelbagai aplikasi? Adakah terdapat yang setara dengan fail 'app.config' untuk DLL?
Jawapan:
Mencipta Fail Konfigurasi Khusus
Walaupun tiada persamaan langsung dengan 'app.config' untuk DLL, adalah mungkin untuk mencipta fail konfigurasi untuk DLL anda. Fail ini hendaklah dinamakan dalam format 'DllName.dll.config.'
Mendapatkan Tetapan Konfigurasi
Untuk mengakses tetapan konfigurasi daripada fail berasingan ini, anda boleh menggunakan kod berikut:
using System.Configuration; namespace MyDLL { public class ConfigurationHelper { public static string GetSetting(string key) { Configuration config = null; string dllPath = typeof(ConfigurationHelper).Assembly.Location; try { config = ConfigurationManager.OpenExeConfiguration(dllPath); } catch(Exception ex) { // Handle error, likely indicates missing configuration file. } if (config != null) { string value = GetAppSetting(config, "mySetting"); return value; }
Kod ini mula-mula cuba membuka fail konfigurasi yang dikaitkan dengan DLL. Jika fail ditemui, ia mendapatkan semula tetapan dengan kekunci yang ditentukan menggunakan kaedah 'GetAppSetting':
private static string GetAppSetting(Configuration config, string key) { KeyValueConfigurationElement element = config.AppSettings.Settings[key]; if (element != null) { return element.Value; } return string.Empty; }
Deployment and Output
Untuk memastikan konfigurasi fail disertakan semasa menggunakan DLL, tetapkan sifat "Salin ke Direktori Output" untuk fail .config kepada "Sentiasa Salin" dalam anda Projek Visual Studio. Ini akan memastikan bahawa fail disalin bersama dengan DLL.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengurus Tetapan Konfigurasi untuk DLL yang Digunakan Merentas Berbilang Aplikasi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!