Динамическое создание App.config со строкой подключения, если App.config не существует в папке Application-Data - PullRequest
0 голосов
/ 24 октября 2011

Мне нужно сделать мой код следующей задачи. Я написал некоторый код, как показано ниже, но я получаю ошибку при установке строки подключения. Похоже, у него нет установленного свойства.

  1. Проверьте, существует ли App.config в пользовательской папке «Данные приложения».

  2. Если не существует, создайте App.config с ConnectionString

  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 ]

2 голосов
/ 24 октября 2011

app.config - это только имя, указанное в вашей программе.В процессе сборки файл переименовывается в [ApplicationName].exe.config.Назовите файл так. Но будьте осторожны! Обычно программный каталог не разрешен для записи (только для администраторов).Настройки-API это лучший способ !!!!

1 голос
/ 24 октября 2011

Вы смотрели на Настройки API? Это может быть более подходящим для того, что вы делаете.

...