C# 如何从库中访问连接字符串

C# 如何从库中访问连接字符串,c#,web-config,connection-string,app-config,class-library,C#,Web Config,Connection String,App Config,Class Library,我在一个单独的类库项目中有一个web项目(mvc)和数据访问层。我需要访问该库项目中app.config中的连接字符串 ConfigurationManager.ConnectionString[0]。ConnectionString提取了一些奇怪的内容。我在库的配置文件和web项目的配置文件中都没有这种设置 App.config如下所示: <?xml version="1.0" encoding="utf-8" ?> <configuration> <con

我在一个单独的类库项目中有一个web项目(mvc)和数据访问层。我需要访问该库项目中app.config中的连接字符串

ConfigurationManager.ConnectionString[0]。ConnectionString提取了一些奇怪的内容。我在库的配置文件和web项目的配置文件中都没有这种设置

App.config如下所示:

<?xml version="1.0" encoding="utf-8" ?>
 <configuration>
  <connectionStrings>
   <add name="DALConnectionString" connectionString="User ID=sa;Password=pass;Initial     Catalog=db;Data Source=srv\SQL2005;" />
 </connectionStrings>
</configuration>


您应该在web.config中添加上面显示的片段,然后在运行时,即使在类库中运行,配置管理器也会使用它。

您无法访问DLL的app.config

app.config
仅适用于入口点程序集,或
web.config
适用于web项目

尝试将连接复制到入口点配置,或通过解析配置XML加载配置-不推荐使用。

在这种情况下,您的库应用于

数据访问层(DAL)库中的类应将连接字符串作为
构造函数参数
属性值

这将确保您的DAL也可以用于其他项目,并且不与mvc web应用程序绑定


让使用DAL的代码从配置文件中读取连接字符串并将其注入类的构造函数。

默认情况下,类库无法访问配置文件

类库的客户端(在本例中是web项目)可以提供配置设置

因此,将所有相关设置(连接字符串)放入web的配置文件中。类库中的
ConfigurationManager
代码将使用web项目配置设置