Почему в моем ConnectionsStringCollection больше записей, чем в разделе Строки соединения в app.config? - PullRequest
2 голосов
/ 02 ноября 2009

В моем C # -WinForms-приложении (.Net 3.5, VS2008) я прочитал App.Config, используя:

Configuration myConfig = 
  ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

App.config содержит две строки подключения в разделе connectionStrings:

<connectionStrings>
    <add name="db1" connectionString="connection1"
     providerName="System.Data.SqlClient"/>
    <add name="db2" connectionString="connection2"
      providerName="System.Data.SqlClient" />
</connectionStrings>

(строки подключения сокращены для удобства чтения)

Но когда я перебираю коллекцию ConnectionStringsCollection, я обнаруживаю, что в ней три записи вместо ожидаемых two . Дополнительные точки входа в базу данных с именем «aspnetdb.mdf» на локальном SqlExpress-сервере. Я не могу вспомнить, чтобы добавить это в любом месте, я не могу найти это как буквальное значение в моих файлах проекта. Просматривая коллекцию с помощью отладчика, я обнаружил, что мои строки подключения имеют app.config в качестве источника. Дополнительная строка имеет null в качестве источника, поэтому я думаю, что .net вызывает ее где-то.

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

Ответы [ 2 ]

6 голосов
/ 02 ноября 2009

Вы проверяли machine.config?

(найдено в %SystemRoot%\Microsoft.NET\Framework\v2.0.50727\CONFIG для 64-битного использования Framework64.)

2 голосов
/ 02 ноября 2009

Файл aspnetdb.mdf происходит из коллекции строк подключения по умолчанию, удалите его, добавив

<clear />

к вершине вашего элемента.

...