2012-10-16 13 views
5

Nasıl okuyacağımı bilmediğim bir .config dosyasında saklanan bir bağlantı dizesi var.
Etrafında arama yaptım ve çoğu AppSetting içinde saklanan anahtar/değer çiftlerini okuma hakkında bulundu. Ancak bu dosya farklı düzenlenmiştir. Tek ihtiyacım olan ConnectionString'in değerini almak.
Not: .config dosyasını değiştiremiyorum. Bana verildi. Projenizin adUygulama değerlerini okuma app.config

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <configSections> 
     <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" > 
      <section name="Assessment.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" /> 
     </sectionGroup> 
    </configSections> 
    <userSettings> 
     <Assessment.Properties.Settings> 
      <setting name="ConnectionString" serializeAs="String"> //This value I need 
       <value>Provider=Microsoft.ACE.OLEDB.12.0;Data Source=[%CURRENT%]\DB.mdb</value> 
      </setting> 
     </Assessment.Properties.Settings> 
    </userSettings> 
</configuration> 

cevap

6

olacak Ayarlar sınıf sınıf autogenerated edilir

(Assessment.Properties.Settings).

bağlantı dizesi basitçe uygulama yapılandırma dosyasından bağlantı dizeleri almak için

Assessment.Properties.Settings.Default.ConnectionString

+0

içinde. Bunların görünmesi için yapmam gereken bir şey var mı? Tüm yaptığım, .config dosya içeriğini, uygulamanın App.config dosyasına yapıştırmak. – atoMerz

+0

Bu, doğru cevap olarak işaretlenmelidir. Teşekkürler. – Cody

5

kullanın ConfigurationManager.ConnectionStrings özellik kullanmak erişmek için.

Bağlantı dizelerinizi, yapılandırma dosyasının connectionStrings bölümünde saklamalısınız.

+0

Bunu denedim ve işe yaramadı. Bu kendim yazdığım bir yapılandırma dosyası değil. Bağlantı dizesini böyle bir .config dosyasından okumam istenir. – atoMerz

+0

Yapılandırma dosyasının nasıl düzenlendiğini değiştiremezseniz, lütfen ilgili bilgilere olduğu için bunu sorunuza ekleyin. – Bernard

0

özel yapılandırma bölümü işleyicisi bakmadan Sadece tahmin edebilirim:

kodunuzda bu deneyin: daha iyisi

var connString = System.Configuration.ConfigurationManager.GetSection 
        ("Assessment.Properties.Settings")["ConnectionString"]; 

Ama Microsoft'a kullanmak anahtarıdır Dahili ConnectionString bölüm
System.Configuration.ConnectionStringSettings

+0

'GetSection' bir nesneyi döndürür ve görünüşte [] operatörünü kullanamıyorum. – atoMerz

0

`userSettings 'bölümüne aşağıdaki gibi erişebilirsiniz:

+0

Bazı nedenlerle boş alıyorum. – atoMerz

1
connectionString = ConfigurationManager.AppSettings["ConnectionString"]; 

ve ben Form_Load olay kodunuzu girerek çalıştı Bunu sınamak için ama Anlaşılan bu sınıflar yok config

<appSettings> <add key="ConnectionString" value="whatever" /> </appSettings> 
+0

'.config' dosyası bana verildi. Ben onu değiştirmem. – atoMerz