2012-10-16 16 views
5

読み込み方法がわからない.configファイル内に接続文字列が格納されています。
私は検索してきましたが、ほとんど私はAppSetting内に格納されているキー/値のペアを読み取る方法について知っています。しかし、このファイルは別に編成されています。私が必要とするのは、ConnectionStringの値を取得することだけです。
注:.configファイルを変更することはできません。それは私に与えられる。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> 

答えて

6

プロジェクト(Assessment.Properties.Settings)の名前空間に設定クラスがあります

クラスが自動生成されます。単にアプリケーション構成ファイルから接続文字列を取得するためにConfigurationManager.ConnectionStringsプロパティを使用し

​​

+0

これをテストするために、私は、Form_Loadイベントにコードを入力しようとしたが、どうやら私は、これらのクラスを持っていません。これらが現れるようにするべきことがありますか?私が行ったのは、アプリケーションのApp.configに.configファイルの内容を貼り付けることだけでした。 – atoMerz

+0

これは正解とマークする必要があります。ありがとう。 – Cody

5

を使用して接続文字列にアクセスするには

構成ファイルのconnectionStringsセクションに接続文字列を格納する必要があります。カスタム構成セクションハンドラを見ずに

+0

すでに試してもうまくいかなかった。これは自分で書いた構成ファイルではありません。そのような.configファイルから接続文字列を読み込むように求められます。 – atoMerz

+0

設定ファイルの構成方法を変更できない場合は、関連情報として質問に追加してください。 – Bernard

0

私は推測することができます。

はあなたのコードでこれを試してみてください:

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

しかし、より良いまだ、マイクロソフトを使用するようにスイッチが内蔵されたのConnectionStringセクション
System.Configuration.ConnectionStringSettings

+0

'GetSection'はオブジェクトを返し、私は明らかに[]演算子を使用できません。 – atoMerz

0

次のように `userSettings 'セクションにアクセスできます:

var userSection = (ConfigurationSection)ConfigurationManager.GetSection("userSettings"); 
+0

何らかの理由でnullになっています。 – atoMerz

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

とあなたの設定で

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

'.config'ファイルが私に与えられました。私はそれを変更するつもりはありません。 – atoMerz