2009-02-03 20 views
91

Sabit bir ConfigurationManager.OpenExe(exePath) yöntemiyle bir derlemeyle ilgili yapılandırma dosyalarını açabileceğimi biliyorum, ancak yalnızca bir montajla ilgili olmayan bir yapılandırma açmak istiyorum. Sadece standart bir .NET yapılandırma dosyası.Özel yapılandırma dosyalarını yükleme

cevap

204

makale vardır çok iyi, ama ne yazık ki Sorunuza cevap vermiyorlar.

sorununuzu çözmek için bu kod parçası denemelisiniz:

ExeConfigurationFileMap configMap = new ExeConfigurationFileMap(); 
configMap.ExeConfigFilename = @"d:\test\justAConfigFile.config.whateverYouLikeExtension"; 
Configuration config = ConfigurationManager.OpenMappedExeConfiguration(configMap, ConfigurationUserLevel.None); 
+0

@Oliver By whateverYouLikeExtension', demek istediniz * yapmalısınız * bir şey * sonra '' config'' sonra? – Svish

+1

@Svish: Hatırlamıyorum. Denedin mi? – Oliver

+3

@Oliver Şimdilik denemek için var, ve gayet iyi çalışıyor :) – Svish

6

yapılandırma dosyası sadece bir XML dosyası ise açabilirsiniz edilir:

private static XmlDocument loadConfigDocument() 
{ 
    XmlDocument doc = null; 
    try 
    { 
     doc = new XmlDocument(); 
     doc.Load(getConfigFilePath()); 
     return doc; 
    } 
    catch (System.IO.FileNotFoundException e) 
    { 
     throw new Exception("No configuration file found.", e); 
    } 
    catch (Exception ex) 
    { 
     return null; 
    } 
} 

ve üstü değerleri alınırken: Ricky tarafından gönderildi

// retrieve appSettings node 

    XmlNode node = doc.SelectSingleNode("//appSettings"); 
+0

ulaşılamaz kod 'new Exception (atmak "bulunamadı yapılandırma dosyası." , e); ' – Oybek

+0

Dönüşü kaldıracağım, gerçekten ulaşılamayacak. –

+7

neden .Net kitaplığından böyle harika sınıflarınız olduğunda XML'i kullanmalısınız. Bunu kullanmayı öneremem, tasarım açısından fakir. Sırada ne var? Farklı bir dize sınıfı uygulayın ... bunu düşünün. – Yuki

İlgili konular