在我当前的项目中,我们有一个带有一些配置(app.config、自定义 ConfigurationSection 等)的 .NET 控制台应用程序。在配置中,指定了本地文件系统上文件的多个路径。由于各个开发人员机器上的路径可能不同,我希望在 machine.config 中而不是在 app.config 中指定它们,因此每个开发人员都可以用自己的路径“覆盖”它们。
所以在 app.config 我注册了 configSection(元素'configSections'),但在配置部分我没有定义路径。在 machine.config 中,我注册了 configSection 并将 configSection 添加到我的路径中。
它看起来像这样:
应用程序配置:
<configSections>
<section name="importingExec"
type="ImportingExecutableConfigSection, Executable" />
</configSections>
<importingExec>
<!-- xmlSchema xmlSchemaPath="D:\foo.xsd"/ -->
</importingExec>
机器配置:
<configSections>
<section name="importingExec"
type="ImportingExecutableConfigSection, Executable" />
</configSections>
<importingExec>
<xmlSchema xmlSchemaPath="D:\foo.xsd"/>
</importingExec>
我有以下问题:当我检索配置时,由于缺少配置部分(必需!)而引发异常。我预计 machine.config 中的值将被返回!
PS:我通过调用检索配置部分
ConfigurationManager
.OpenExeConfiguration(ConfigurationUserLevel.None)
.GetSection("importingExec");