Попытка получить строку из файла App.config
Я отчаянно пытаюсь сделать работу app.config
файл, в котором я хочу сохранить строки подключения для подключения к моей базе данных.
Это мое app.config
файл:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="Con" value="User Id = *******;password=**;data source= (DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = ******)(PORT = 1525))(CONNECT_DATA =(SERVER = DEDICATED)(SID = emtst)))"/>
</appSettings>
</configuration>
И когда я пытаюсь прочитать это здесь:
string connStr = ConfigurationManager.AppSettings["Con"];
this.odacManager = new ODACManager(connStr);
Я просто получаю пустую строку. я использую System.Configuration
,
Я также пытался использовать
ConfigurationManager.Connectionstring["Con"].ConnectionString
но это тоже не сработало.
2 ответа
Вы должны использовать <connectionStrings>
элемент в вашем файле конфигурации:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<connectionStrings>
<add name="Con"
connectionString="User Id=*******;password=**;data source=(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = ******)(PORT = 1525))(CONNECT_DATA =(SERVER = DEDICATED)(SID = emtst)))"/>
</connectionStrings>
</configuration>
и затем прочитайте это как:
string connStr = ConfigurationManager.ConnectionStrings["Con"].ConnectionString;
Обновить:
В.NET проекты библиотек классов не могут иметь свои собственные файлы конфигурации - они не будут использоваться и не будут оцениваться во время выполнения.
Если вашей библиотеке классов нужна какая-либо конфигурация, вам нужно поместить эту конфигурацию в хост-приложение. app.config
(или же web.config
), чтобы библиотека классов могла найти его там (и использовать его).
Пытаться
System.Configuration.ConfigurationSettings.AppSettings["Con"].ToString();