App.config, похоже, игнорируется - PullRequest
6 голосов
/ 25 декабря 2010

У меня есть библиотека классов в результате действия рефакторинга.Я добавил файл App.config и добавил что-то вроде этого:

<configuration>
    <connectionStrings>
        <add name="MyDatabase" connectionString="Data Source=server;Initial Catalog=database;User ID=userid;Password=password" providerName="System.Data.SqlClient" />
    </connectionStrings>
</configuration>

Но когда я запускаю приложение, отладка узнает, что это полностью игнорируется.В появившемся окне мне сообщается:

ConfigurationManager.ConnectionStrings[0]
                 {data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true}
    base {System.Configuration.ConfigurationElement}: {data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true}
    ConnectionString: "data source=.\\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true"
    Key: "LocalSqlServer"
    Name: "LocalSqlServer"
    Properties: {System.Configuration.ConfigurationPropertyCollection}
    ProviderName: "System.Data.SqlClient"

Я проверил сгенерированный файл конфигурации в каталоге bin, и его содержимое идентично файлу App.config.

Я пытаюсь прочитать приложение.конфиг используя:

ConfigurationManager.ConnectionStrings[Constants.Connections.DevConnection].ConnectionString

Ничего необычного я бы сказал, но что не так?

Ответы [ 3 ]

7 голосов
/ 25 декабря 2010

Библиотека классов не имеет собственной конфигурации;для приложения с именем Foo.exe ваша конфигурация должна быть в Foo.exe.config.Исключением являются веб-приложения, где web.config - это соглашение об именах.

5 голосов
/ 25 декабря 2010

Эта строка подключения должна находиться в соответствующем app.config исполняемого файла, который вы запускаете.

0 голосов
/ 25 декабря 2010

Файл копируется в вывод?Во-вторых, строка подключения должна быть доступна из класса AssemblyName.Settings.Properties, который генерируется из вашего кода.

...