Как прочитать <connectionstring>файла web.config из консольного приложения? - PullRequest
2 голосов
/ 20 декабря 2011

У меня есть консольное приложение VB.net.Я хотел бы прочитать (ConnectionString) из файла web.config.

Web.config находится по определенному пути в моем виртуальном ПК, скажем "C: / mywebConfig"

<add name="MY_DB" connectionString="Data Source=DATASOURCE;Initial Catalog=DB;Persist 

Security Info=False; User ID=***;Password=****;" providerName="System.Data.SqlClient" />

Мой код:

Dim connString As String = String.Empty

connString = ConfigurationManager.ConnectionStrings("MY_DB").ConnectionString

Всякий раз, когда я пытаюсь получить к нему доступ, я получаю ошибку, не установленную для экземпляра объекта или чего-то подобного:)

Помогите, пожалуйста.

Я пытался добавить web.config в свой проект, но все равно получаю ошибку.

Ответы [ 3 ]

2 голосов
/ 20 декабря 2011

Если вы действительно хотите прочитать app.config или web.config из другого (веб) приложения, взгляните на ConfigurationManager.OpenMappedExeConfiguration .

0 голосов
/ 20 декабря 2011

Как предложил Мэтт для консольного приложения, вам нужно вместо этого включить файл app.config.Для удобства чтения этого файла вы можете обратиться к сборке System.Configuration, а затем использовать свойство System.Configuration.ConfigurationManager.ConnectionStrings.

Например:

string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["dbconnectionString"].ConnectionString;

EDIT

Я только что перечитал ваше сообщение, и было бы неплохо проверить, есть ли у вашего приложения разрешение на чтение файлов .config с диска c: \.

0 голосов
/ 20 декабря 2011

web.config используется для веб-приложений - вам понадобится файл app.config.

Посмотрите на эту ссылку на различия:

dotNET - приложение.config и web.config

Также этот вопрос переполнения стека Что такое app.config для

...