Инициализация строки подключения в WinForm и в UserControl

Смотрите кодирование ниже:

**Application Config File**

<?xml version="1.0" encoding="utf-8" ?>
<configuration>

<appSettings>
<add key ="Mystring" value ="server=MyServer;Initial Catalog 
MyDataBase;uid=MYUID;pwd=MYPWD"/>
</appSettings>

</configuration>


**Connection Code:**

string connstr = ConfigurationManager.AppSettings["Mystring"]; 
SqlConnection con = new SqlConnection(connstr);
con.Open();

Я проверил его в WinApplication и в библиотеке управления Windows (UserControl) и обнаружил, что приведенный выше код работает в WinApplication и не работает в библиотеке управления Windows, вместо этого он выдает исключение типа "Строка подключения не была инициализирована"

Если сборка SQL присутствует в обоих приложениях VS, то является ли это универсальным исключением в библиотеке управления Winows?.

Каково решение?.

1 ответ

Если вы используете тестовый проект, вам нужно добавить туда настройки (файл app.config).

Если вы выполняете непосредственную отладку, DEVENV создает пример приложения, в котором размещается пользовательский элемент управления, вам необходимо явно прочитать настройки.

Вы можете использовать директивы препроцессора, чтобы различать, отлаживает ли пользовательский контроль с помощью DEVENV или с помощью приложения.

Код как

  #ifdef RunningUnderHost
  // read app settings
  #endif

RunningUnderHost может быть определен над библиотекой, а не над приложением.

Другие вопросы по тегам