C# 我可以更改默认配置文件吗?

C# 我可以更改默认配置文件吗?,c#,.net,C#,.net,我正在使用Jeff Atwood的,但它似乎只适用于默认的app.config文件。如果我想将某些设置分离到另一个文件中,则反序列化不起作用,因为ConfigurationManager.GetSection只读取应用程序的默认app.config文件。是否可以更改默认配置文件的路径或将ConfigurationManager指向第二个配置文件?是的,只需将默认配置文件中的节替换为具有指向另一个文件的configSource=“”属性的同名xml元素即可 。。。在你的App.config或web

我正在使用Jeff Atwood的,但它似乎只适用于默认的app.config文件。如果我想将某些设置分离到另一个文件中,则反序列化不起作用,因为ConfigurationManager.GetSection只读取应用程序的默认app.config文件。是否可以更改默认配置文件的路径或将ConfigurationManager指向第二个配置文件?

是的,只需将默认配置文件中的节替换为具有指向另一个文件的configSource=“”属性的同名xml元素即可

。。。在你的App.config或web.config中

  <configSections>
      <section name="Connections"
         type="BPA.AMP.Configuration.XmlConfigurator, BPA.AMP.Data.Config.DAL"/>
      <section name="AutoProcessConfig"
         type="BPA.AMP.Configuration.XmlConfigurator, BPA.AMP.Data.Config.DAL"/>
  </configSections>


  <Connections configSource="Config\Connections.config" />
  <AutoProcessConfig configSource="Config\AutoProcess.config" />

可以手动执行此操作,方法是将文档作为XDocument打开,找到适当的节并将其传递给配置节处理程序

XDocument configDoc = XDocument.Load( alternateConfigFile );

var section = configDoc.Descendants( "sectionName" ).First();

var obj = sectionHandler.Create( null, null, section );

祝福你,我的儿子。这真是太糟糕了。有必要使用LINQ查询吗?它不应该返回与
configDoc.subjects(“sectionName”)
完全相同的结果吗?@bamcaig-我第一次学习LINQ时的工件,我已经更新了。
XDocument configDoc = XDocument.Load( alternateConfigFile );

var section = configDoc.Descendants( "sectionName" ).First();

var obj = sectionHandler.Create( null, null, section );