OpenMappedExeConfiguration
'un kullanılması, sınıf kütüphanesinin yapılandırmasına bakmak için kullanabileceğiniz bir "Yapılandırma" nesnesini geri verir (ve orada bulunan ayarlar, ana uygulamada aynı adla olanları geçersiz kılar. yapılandırma):
dize seri = ConfigurationManager.AppSettings: ana uygulamanın yapılandırma özeldir ve sınıf kütüphanenin kendi config yoktur
ExeConfigurationFileMap map = new ExeConfigurationFileMap();
map.ExeConfigFilename = "ConfigLibrary.config";
Configuration libConfig = ConfigurationManager.OpenMappedExeConfiguration(map, ConfigurationUserLevel.None);
AppSettingsSection section = (libConfig.GetSection("appSettings") as AppSettingsSection);
value = section.Settings["Test"].Value;
Ama bu ayarlar hala ConfigurationManager
statik sınıfının üzerinden erişilebilir ["Seri"];
Hala çalışıyor - sınıf kütüphanesinin yapılandırması yalnızca yapılandırma dosyasında bulunan ayarları gizler; Ayrıca, sınıf kütüphanesinin kendi yapılandırma ayarlarına erişmek için "libConfig
örneğini kullanmanız gerekir.
İki dünya (ana app.config, classlibrary.config) tamamen ve çok mutlu birlikte olabilir. orada hiç sorun!
Marc
Olası kopyalar [I/yazma app.Config çalışma zamanı witho de ayarları okuyabilir nasıl kullanıcı ayarlarını kullanarak nasıl?] (https://stackoverflow.com/questions/3638754/how-can-i-read-write-app-config-settings-at-runtime-without-using-user-settings) – Matt