配置管理器.AppSettings返回null

3
我将使用 ConfigurationManager.AppSettings["smtpHost"] 来读取 app.config 文件中的值,但是即使键存在且有值,返回的值始终为空。有人知道原因吗?
BLL 中的 App.config 文件:
<appSettings>
  <add key="smtpHost" value="smtp.gmail.com" />
</appSettings>

我在web.config文件中添加了相同的内容。

然后我尝试获取;

var host = ConfigurationManager.AppSettings["smtpHost"];

无法复现;对我来说一切正常。 - Sebastian Hofmann
请阅读此答案。我认为您可以从这个回答中得到帮助 https://dev59.com/6G855IYBdhLWcg3wc0Dy#61882895 - Udara Kasun
2个回答

3
您的代码是正确的(我已经测试过),您需要确保您的app.config文件在您的主项目(exe)中。

还要检查您的<appSettings>部分是否在<configuration>部分中。 - Vladyslav Hrehul
我怎样才能确定 app.config 文件在主项目中? - burak ramazan
你的类所在的命名空间必须与包含app.config的项目相同。 - Vladyslav Hrehul

1
我找到了问题所在。
我在UI层的web.config文件中定义了它。但是我在业务层的单元测试方法中调用它。当从UI层调用时,它可以正常工作。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接