从外部配置文件中读取部分 appSettings

Read part of appSettings from an external configuration file

我想从名为 secrets.config 的外部配置文件中读取控制台应用程序 appSettings 的一部分,而我想从中读取其余部分app.config.

目前,我已经设置好了,但它似乎没有从 secrets.config 读取,甚至没有告诉我读取失败。

在我的app.config

<appSettings file = "secrets.config">
  <add key = "Foo" value = "Bar" />
</appSettings>

In secrets.config,与 app.config

在同一文件夹中
<appSettings>
  <add key = "Secret" value = "Tiger" />
</appSettings>

在我的代码中

var secret = ConfigurationManager.AppSettings["Secret"];

// secret turns out to be null

原来是我把外部文件的路径写错了

来自文档 on this page:

指定的路径是相对于主配置文件的。对于 Windows Forms 应用程序,这将是二进制文件夹(例如 /bin/debug),而不是应用程序配置文件的位置。对于 Web 窗体应用程序,路径是相对于 web.config 文件所在的应用程序根目录。

我将路径更改为以下路径:

<appSettings file = "..\..\secrets.config">
</appSettings>