我可以加载一个 configSource 然后在 web.config 中添加额外的键吗

can I load a configSource and then add additional keys in web.config

我有一些需要应用于特定网站的个人设置,并且我有大量设置是在网站之间共享的。我通过持续集成系统进行部署。

在我的 web.config 文件中我有:

<appSettings configSource="App_Data\thisSiteSettings.xml" >
    <clear />
    <add key="AllSitesSetting" value="ForAllSites" />
</appSettings >

发生的情况是我只从 thisSiteSettings.xml 获得设置,而 none 从 web.config 获得设置。我还尝试了 2 个部分:

<appSettings >
    <clear />
    <add key="AllSitesSetting" value="ForAllSites" />
</appSettings >

<appSettings configSource="App_Data\thisSiteSettings.xml" >
</appSettings >

刚刚抛出一个错误。最后,我尝试将配置源包含为 "add" 节点,但这也引发了错误。 (<add configSource="thisSiteSettings.xml" />)

如何从单独的文件中加载一些特定于站点的应用程序设置,并从 web.config 文件中加载其余应用程序设置?

您可以使用

<appSettings file="thisSiteSettings.xml">
    ...
<appSettings />

外部文件中的 appSettings 将覆盖主配置文件中具有相同密钥的设置。