SmtpClient and app.config system.net configuration

本文关键字:net configuration system config and app SmtpClient | 更新日期: 2023-09-27 18:06:57

我正在开发一个。net 3.5库来发送电子邮件。我将system.net配置放入app.config:

<system.net>
  <mailSettings>
    <smtp from="mail@domain.com">
      <network host="myserver.com" port="25" defaultCredentials="true" />
    </smtp>
  </mailSettings>
</system.net>

我实例化了没有参数的SmtpClient:

SmtpClient client = new SmtpClient();

但是配置没有被读取(我试图用NUnit测试库),我得到一个System.InvalidOperationException,因为配置没有被读取,因此主机为空。

配置不应该自动读取吗?

SmtpClient and app.config system.net configuration

确保将配置块(如上所示)添加到{appName}.exe中。配置或web。配置——类库的配置在运行时从其中一个文件中获取,而不是从类库的app.config中获取。

我刚刚意识到我的做法肯定是错误的(约翰也有一个类似的帖子,解决方案在那里…)。

邮件设置仅在应用程序级别可用,因此测试项目应该知道您的设置,以便将其考虑在内。

感谢John和Davide为我指出正确的方向!