Получить строку подключения из App.config - PullRequest
354 голосов
/ 30 июня 2011
var connection = ConnectionFactory.GetConnection(
    ConfigurationManager.ConnectionStrings["Test"]
    .ConnectionString, DataBaseProvider);

А это мой App.config:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <connectionStrings>
        <add name="Test" connectionString="Data Source=.;Initial Catalog=OmidPayamak;Integrated Security=True" providerName="System.Data.SqlClient" />
    </connectionStrings>
</configuration>

Но когда мой проект запускается, это моя ошибка:

Ссылка на объект не установлена ​​для экземпляра объекта.

Ответы [ 18 ]

2 голосов
/ 08 декабря 2012
string sTemp = System.Configuration.ConfigurationManager.ConnectionStrings["myDB In app.config"].ConnectionString;
1 голос
/ 14 марта 2017

Сначала вы должны добавить System.Configuration ссылку на ваш проект, а затем использовать приведенный ниже код для получения строки подключения.

_connectionString = ConfigurationManager.ConnectionStrings["MYSQLConnection"].ConnectionString.ToString();
1 голос
/ 13 февраля 2017

Это сработало для меня:

string connection = System.Configuration.ConfigurationManager.ConnectionStrings["Test"].ConnectionString;

Выходы:

Источник данных =; Исходный каталог = OmidPayamak; IntegratedSecurity = True "

1 голос
/ 30 июня 2015

Возможно, что OP в этом вопросе пытается использовать App.Config внутри DLL.

В этом случае код фактически пытается получить доступ к App.Config исполняемого файла, а недлл.Поскольку имя не найдено, возвращается значение Null, поэтому показано исключение.

Может быть полезен следующий пост: ConnectionString из файла app.config DLL имеет значение null

1 голос
/ 17 октября 2013

Вы можете извлечь строку подключения, используя следующую строку кода -

using System; using System.Configuration;

var connectionString=ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString;

Вот ссылка: Строка подключения из App.config

1 голос
/ 09 января 2014

Кажется, что проблема не в ссылке, вы получаете строку соединения как ноль, поэтому, пожалуйста, убедитесь, что вы добавили значение в файл конфигурации вашего работающего проекта, означающего основную программу / библиотеку, которая запускается / выполняется первой.

0 голосов
/ 26 октября 2017

Я решил проблему, используя индекс для чтения строки и проверяя одну за другой.Чтение с использованием имени по-прежнему приводит к той же ошибке.
У меня проблема при разработке приложения на C #, но у меня не было проблемы в приложении asp.net.В настройках должно быть что-то не то.

0 голосов
/ 16 июня 2015

Я ссылаюсь на библиотеку System.Configuration, и у меня та же ошибка. Файлы отладки не имели своего app.config, создайте вручную этот файл. Ошибка в том, что я решил эту проблему, скопировав файл appname.exe.config в папку отладки. В среде IDE не был создан файл.

...