这里有很多次问过这个问题,但我似乎无法对我的案例应用任何答案。所以我们再来一次。
我有两个项目ProjectA
和ProjectB
。 ProjectA
是一个类库并使用实体框架(默认情况下)将其模型设置写入App.config
文件。另一方面,ProjectB
是一个具有自己的Web.config
文件和引用ProjectA
的可执行文件,以满足其数据访问需求。当然,问题是在运行时,ProjectB
的web.config被读取,因为它是"正在执行的程序集",这意味着我需要包括ProjectA
的web.config中ProjectB
的app.config中的所有连接字符串。
我真的不喜欢手动复制这些连接字符串的想法。我想知道是否有方法告诉ProjectB
的web.config将其connectionStrings
部分替换为app.config
ProjectA
部分}}。所以理论上,我从这样的事情开始:
ProjectA(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>
是否支持此功能?
答案 0 :(得分:0)
您可以使用configSource attribute将任何app.config
/ web.config
部分替换为外部文件。
在web.config
,其中connectionStrings.config
是ProjectA的app.config
connectionStrings部分:
<connectionStrings configSource="connectionStrings.config" />
configSource
是相对于web.config文件的路径,因此您可以将其指向应用程序中的任何文件,例如: config\connectionStrings.config
。