我有一个问题,创建应用程序发送电子邮件。
我已经有一个作为Windows窗体应用程序工作,然后决定从空项目中进行同样的操作,因为我现在需要创建一个后台应用程序。
我在Windows中使用了System.Net.Mail命名空间。然后将相同的代码添加到新项目中。
但是,我得到以下错误:
命名空间'System.Net‘中不存在类型或名称空间名称'Mail’。
“System.Net”引用包含在项目引用列表中,而我在可能的引用列表中找不到任何名为“System.Net.Mail”的引用。关键是我在Windows窗体应用程序中没有这些错误。
发布于 2013-03-22 01:54:12
我试着在Visual 2012中复制它,但是即使我将编译器设置为使用.NET 2.0,我仍然没有遇到这个问题。
您可能遗漏了System.dll的引用,其中包括名称空间System.Net.Mail。作为一种预防措施,由于您没有包含任何示例代码,我将以一个简单的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);
}
}即使我无法再现这一点,我仍然建议您验证是否正在根据与前一个客户端相同的目标框架编译您的项目。
您可以通过右键单击项目并在“Target framework”选项卡下选择“Application”选项卡来完成此操作。
编辑:,可能值得对当前引用进行截图,并在堆栈溢出处上传。它将使我们更好地概述潜在的问题或冲突。

不应该需要修改您的App.config,但是这里有我的参考。
<?xml version="1.0"?>
<configuration>
<startup>
<supportedRuntime version="v2.0.50727"/></startup>
</configuration>Edit2:
System.dll 添加引用.
Add Reference。System和Framework下面查找并添加Assemblies (或System.dll)。OK保存。发布于 2013-10-30 10:26:25
我也面临着同样的问题。接下来的变化解决了我的问题。将目标框架从.Net Framework4客户端配置文件更改为.Net Framework4。
客户机配置文件框架产生了许多这样的问题。
https://stackoverflow.com/questions/15561320
复制相似问题