我想从一个名为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
答案 0 :(得分:5)
事实证明,我正在将外部文件的路径写为错误的路径。
来自文档on this page:
指定的路径是相对于主配置文件的。对于Windows窗体应用程序,这将是二进制文件夹(例如/ bin / debug),而不是应用程序配置文件的位置。对于Web窗体应用程序,该路径相对于web.config文件所在的应用程序根目录。
我改变了以下路径:
<appSettings file = "..\..\secrets.config">
</appSettings>