我在创建发送电子邮件的应用程序时遇到问题。
我已经有一个作为 Windows 窗体应用程序工作,然后决定从空项目做同样的事情,因为我现在需要制作一个后台应用程序。
我在 Windows 窗体中为此使用了 System.Net.Mail
命名空间。然后将相同的代码添加到新项目中。
但是,我收到以下错误:
The type or namespace name 'Mail' does not exist in the namespace 'System.Net'.
“System.Net”引用包含在项目引用列表中,我在可能的引用列表中找不到任何名为“System.Net.Mail”的内容。关键是我在 Windows 窗体应用程序中没有这些错误。
最佳答案
我尝试在 Visual Studio 2012 中重现此问题,但即使我将编译器设置为使用 .NET 2.0
,我仍然没有遇到此问题。
您可能缺少对 System.dll
的引用,其中包括命名空间 System.Net.Mail
。作为预防措施,因为您没有包含任何示例代码,我将包含一个简单的邮件客户端实现作为示例。
using (SmtpClient client = new SmtpClient("smtp-server.MyDomain.com"))
{
client.UseDefaultCredentials = true;
using (MailMessage mail = new MailMessage())
{
mail.Subject = subject;
mail.Body = body;
mail.From = new MailAddress("MyEmail@MyDomain.com");
mail.To.Add("ToThisEmail@MyDomain.com");
client.Send(mail);
}
}
即使我无法重现这一点,我仍然会建议您确认您是针对与您以前的客户相同的目标框架编译您的项目。
您可以通过右键单击您的项目并选择 Application
选项卡下的 Target framework
来执行此操作。
编辑:截取当前引用文献的屏幕截图并将其上传到 stackoverflow 可能是值得的。这将使我们更好地了解潜在问题或冲突。
应该不需要修改您的 App.config
,但这里有我的作为引用。
<?xml version="1.0"?>
<configuration>
<startup>
<supportedRuntime version="v2.0.50727"/></startup>
</configuration>
编辑2:
添加 System.dll
引用。
- 右键单击您的项目并选择
添加引用
。 - 在
Assemblies
和Framework
下找到并添加System
(或System.dll
)。 - 点击
OK
保存。
关于c# - System.Net.Mail 引用不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15561320/