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

时间:2015-10-13 11:40:59

标签: c# .net configuration configuration-files configurationmanager

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

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

在我的app.config

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

在secrets.config中,与app.config位于同一文件夹中

<appSettings>
  <add key = "Secret" value = "Tiger" />
</appSettings>

在我的代码中

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

// secret turns out to be null

1 个答案:

答案 0 :(得分:5)

事实证明,我正在将外部文件的路径写为错误的路径。

来自文档on this page

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

我改变了以下路径:

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