Инициализация строки подключения в 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 может быть определен над библиотекой, а не над приложением.