2011-10-24 3 views
0

私のコードは次の作業を行う必要があります。私は以下のようなコードを書いていますが、接続文字列を設定中にエラーが発生しています。それはプロパティを設定していないように見えます。App.configがApplication-Dataフォルダに存在しない場合は、接続文字列を使用してApp.configを動的に作成します。

  1. ユーザーの "Application Data"フォルダにApp.configが存在するかどうかを確認してください。

  2. 存在しない場合、のConnectionString

    でApp.configファイルを作成
  3. もしんが、それは、接続文字列だったかどうかをチェックし、不足している場合は、接続文字列を追加存在します。

    string SomeConnectionString ="My Connection String goes here" 
    
    //Checking whether App.config file exits in "Application Data" folder or not 
        String appDataPath = Environment.GetFolderPath 
            (Environment.SpecialFolder.LocalApplicationData); 
    
        if (!File.Exists(appDataPath + "App.config")) 
        { 
         appDataPath = Path.Combine(appDataPath , "App.config"); 
         Configuration config = ConfigurationManager.OpenExeConfiguration 
               (appDataPath); 
         var setting = config.ConnectionStrings.ConnectionStrings 
            ["MyConnectionString"]; 
    
         if (setting == null) 
         { 
          Configuration Config = ConfigurationManager.OpenExeConfiguration 
                (ConfigurationUserLevel.None); 
          config.ConnectionStrings.ConnectionStrings 
          ["MyConnectionString"].ConnectionString = SomeConnectionString; 
          //I am getting error on line above. Looks like there is not set 
          //property on it 
    
         Config.Save(ConfigurationSaveMode.Modified,true); 
         ConfigurationManager.RefreshSection("connectionStrings"); 
         } 
    
        } 
        else 
        { 
         //check whether it has Connection string or not 
         //if not then add connection string 
        } 
    

答えて

2

app.configは、プログラムで指定された唯一のことです。ビルド処理中にファイルの名前は[ApplicationName].exe.configに変更されます。このようにファイルの名前を付けます。 しかし、注意してください!通常、プログラムディレクトリは書き込みアクセスに使用できません(管理者のみ)。設定 - APIはより良い方法です。

+0

私はFischermaen – Shai

1

Settings APIを見ましたか?これはあなたがやっていることに対してより適切かもしれません。

+1

ありがとう、私はSetting.settingsを使用してのアイデアが好きこの問題を解決 Setting.settingsを使用してのアイデアのよう はあなたにブライアンをありがとう、この問題を解決します – Shai

関連する問題