包括类库中的ConnectionStrings';s配置文件

本文关键字:配置文件 ConnectionStrings 类库 包括 | 更新日期: 2023-09-27 18:20:46

这个问题在这里被问了很多次,但我似乎无法将任何答案应用于我的案例。所以我们又来了。

我有两个项目,ProjectAProjectBProjectA是一个类库并使用实体框架,该框架(默认情况下)将其模型设置写入App.config文件。ProjectB是具有自己的Web.config文件的可执行文件,并且为了满足其数据访问需求而引用ProjectA。当然,问题是在运行时,ProjectB的web.config会被读取,因为它是"执行程序集",这意味着我需要在ProjectB的web.config中包括来自ProjectA的app.config的所有连接字符串

我真的不喜欢手动复制这些连接字符串的想法。我想知道是否有一种方法可以告诉ProjectB的web.config将其connectionStrings部分替换为ProjectAapp.config中的部分。所以理论上,我会从这样的东西开始:

项目A(App.config):

<configuration>
  <connectionStrings>
    <add name="MyModelContext" connectionString="blahblah" />
  </connectionStrings>
</configuration>

ProjectB(Web.config):

<configuration>
 <connectionStrings>
 </connectionStrings>
<configuration>

构建项目后/运行时:

ProjectB(Web.config):

<configuration>
  <connectionStrings>
     <add name="MyModelContext" connectionString="blahblah" />
  </connectionStrings>
<configuration>

是否支持此功能?

包括类库中的ConnectionStrings';s配置文件

您可以使用configSource属性将几乎任何app.config/web.config节替换为外部文件。

在您的web.config中,其中connectionStrings.config是ProjectA:中的app.config连接字符串部分

<connectionStrings configSource="connectionStrings.config" />

configSource是相对于web.config文件的路径,因此您可以将其指向应用程序中的任何文件,例如config'connectionStrings.config