将设置移动到另一个配置文件

emp*_*mpi 11 asp.net settings configuration web-config

是否可以将applicationSettings移动到另一个配置文件,因为可以使用connectionStrings或appSettings?

当我使用设计器为我的Web应用程序创建设置时,我在web.config中获取了applicationSettings部分,例如:

  <applicationSettings>
    <TestWebApplication.Properties.Settings>
      <setting name="AnotherSetting" serializeAs="String">
        <value>Another setting value</value>
      </setting>
    </TestWebApplication.Properties.Settings>
  </applicationSettings>
Run Code Online (Sandbox Code Playgroud)

我希望能够将它们移动到另一个文件,如appSettings:

<appSettings configSource="config\appsettings.config"/>
Run Code Online (Sandbox Code Playgroud)

我正在使用一个项目,该项目通过使用设计器和web.config生成的类访问了很多设置,在多个环境之间很难维护.如果我可以强制Settings类使用appSettings而不是applicationSettings会更好.

可能吗?

在此先感谢您的帮助.

Dan*_*n F 27

Waaaay迟到了这个问题,但我刚刚在这个问题上撞到墙上.事实证明,你可以这样做,只是不是为整个applicationSettings节点,你必须分别做applicationSettings的每个子节点.我从MSDN SectionInformation.ConfigSource文章的底部获得了魔法信息.

app.config/web.config内容

<applicationSettings>
    <TestWebApplication.Properties.Settings configSource="externalfile.config" />
</applicationSettings>
Run Code Online (Sandbox Code Playgroud)

externalfile.config内容:

<TestWebApplication.Properties.Settings>
    <setting name="AnotherSetting" serializeAs="String">
        <value>Another setting value</value>
    </setting>
</TestWebApplication.Properties.Settings>
Run Code Online (Sandbox Code Playgroud)


emp*_*mpi 0

这个问题很长一段时间没有被标记为答案。好吧,在 marc_s 的回答下,有一些评论解释说这是不可能的。我不想将 marc_s 答案标记为已接受的答案,因为评论所说的内容与答案完全相反。所以不幸的是,答案是不可能的。