App.config似乎被忽略了

Oxy*_*ron 6 c# app-config

作为重构动作的结果,我有这个类库.我添加了一个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>
Run Code Online (Sandbox Code Playgroud)

但是当我运行应用程序时,调试学习我完全被忽略了.即时窗口告诉我:

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"
Run Code Online (Sandbox Code Playgroud)

我已经在bin目录中检查了生成的配置文件,其内容与App.config相同.

我尝试使用以下方法读取App.config:

ConfigurationManager.ConnectionStrings[Constants.Connections.DevConnection].ConnectionString
Run Code Online (Sandbox Code Playgroud)

没有什么不寻常的我会说,但出了什么问题?

Mar*_*ell 7

类库没有自己的配置; 对于名为Foo.exe的应用程序,您需要将配置放在Foo.exe.config中.这里的例外是web应用程序,其中web.config是命名约定.


Cha*_*ndu 5

此connectionString应位于您正在运行的exe的相应app.config中.