我正在开发一个.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
,因为没有读取配置,因此主机为空。
不应该自动读取配置吗?
答案 0 :(得分:12)
确保将配置块(如上所示)添加到{appName} .exe.config或web.config中 - 类库的配置是在运行时从其中一个文件中获取的,而不是从应用程序中获取的。类库的配置。
答案 1 :(得分:0)
我刚刚意识到我肯定是以错误的方式做到了(还有a similar post from John about it并且解决方案就在那里......)。
邮件设置仅在应用程序级别可用,因此测试项目应了解您的设置以将其考虑在内。