我正在关注https://jeffreyfritz.com/2017/11/modern-configuration-for-asp-net-4-7-1-with-configurationbuilders/对于我的 ASP.NET 4.7.2 应用程序,但我们在 Web.config 中有这个:
<connectionStrings configSource="myconfig.config"/>
我希望可以通过将此 block 更改为:使用环境变量暂时设置 myconfig.config 中的值:
<connectionStrings configBuilders="Env" configSource="myconfig.config"/>
但这给了我一个编译器错误:
A section using 'configSource' may contain no other attributes or elements.
这是 myconfig.config 的样子:
<?xml version="1.0" encoding="utf-8"?>
<connectionStrings>
<add name="db1" connectionString="conn1" providerName="prov1" />
<add name="db2" connectionString="conn2" providerName="prov2" />
<add name="db3" connectionString="conn3" providerName="prov3" />
</connectionStrings>
有什么想法吗?我一直在尝试寻找如何使两者结合起来工作,但没有成功!
最佳答案
对于任何面临此问题的人来说,解决方案是将“configBuilders”属性放在目标文件上,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<connectionStrings configBuilders="Env">
<add name="db1" connectionString="conn1" providerName="prov1" />
<add name="db2" connectionString="conn2" providerName="prov2" />
<add name="db3" connectionString="conn3" providerName="prov3" />
</connectionStrings>
此外,因为之后出现了另一个问题......请确保您使用“configSource”作为属性而不是“file”。
关于asp.net - 如何在 ASP.NET 中将 configSource 与 configBuilders 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67876744/