包括类库中的ConnectionStrings';s配置文件
本文关键字:配置文件 ConnectionStrings 类库 包括 | 更新日期: 2023-09-27 18:20:46
这个问题在这里被问了很多次,但我似乎无法将任何答案应用于我的案例。所以我们又来了。
我有两个项目,ProjectA
和ProjectB
。ProjectA
是一个类库并使用实体框架,该框架(默认情况下)将其模型设置写入App.config
文件。ProjectB
是具有自己的Web.config
文件的可执行文件,并且为了满足其数据访问需求而引用ProjectA
。当然,问题是在运行时,ProjectB
的web.config会被读取,因为它是"执行程序集",这意味着我需要在ProjectB
的web.config中包括来自ProjectA
的app.config的所有连接字符串
我真的不喜欢手动复制这些连接字符串的想法。我想知道是否有一种方法可以告诉ProjectB
的web.config将其connectionStrings
部分替换为ProjectA
的app.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>
是否支持此功能?
您可以使用configSource属性将几乎任何app.config
/web.config
节替换为外部文件。
在您的web.config
中,其中connectionStrings.config
是ProjectA:中的app.config
连接字符串部分
<connectionStrings configSource="connectionStrings.config" />
configSource
是相对于web.config文件的路径,因此您可以将其指向应用程序中的任何文件,例如config'connectionStrings.config
。