从外部配置文件中读取部分 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>
我想从名为 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>