【发布时间】:2011-07-06 00:28:42
【问题描述】:
我正在尝试从 app.config 文件的 appSettings 部分提取电子邮件地址。每次我运行测试时,reportRecipients 都是 Null。谁能看到我做错了什么?
<appSettings>
<add key="Overdue_Report_Recipients" value="myemail@email.com"/>
</appSettings>
string reportRecipients = ConfigurationManager.AppSettings["Overdue_Report_Recipients"];
谢谢
编辑: 这适用于不是 Web 应用程序的项目。它是解决方案的一部分,其中大多数项目都是 Web 应用程序,但这个特定的项目是一项服务。很抱歉与我已删除它的 asp.net 标签混淆。
我在应用设置中存储了另一个值,我可以从中获取数据
<add key="Sweeper_Notify_When_None_Overdue" value="false"/>
bool sendWhenNoneOverdue =
Convert.ToBoolean(System.Configuration.ConfigurationManager.AppSettings["Sweeper_Notify_When_None_Overdue"]);
回答: 我在一个单独的项目中运行我的测试,并且测试是从测试项目中的配置文件而不是我正在测试的项目中的 app.config 读取的。 我必须将设置复制到测试项目中的配置中,然后测试才起作用。
【问题讨论】:
-
你的 web.config 中有这个,对吧?在“配置”->“configSections”下???
-
@Zachary,我同意我认为 Ronald 可能没有
元素。 -
如果你使用索引 0 而不是键,你会得到什么?
-
可以在 web.config 中指定要使用的文件,例如:
-
它在 App.Config 而不是 web.config
标签: c# web-config app-config