c# - System.Net.Mail 引用不存在

标签 c# winforms system.net.mail system.net

我在创建发送电子邮件的应用程序时遇到问题。

我已经有一个作为 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 可能是值得的。这将使我们更好地了解潜在问题或冲突。

enter image description here

应该不需要修改您的 App.config,但这里有我的作为引用。

<?xml version="1.0"?>
<configuration>
    <startup> 
    <supportedRuntime version="v2.0.50727"/></startup>
</configuration>

编辑2:

添加 System.dll 引用。

  1. 右键单击您的项目并选择添加引用
  2. AssembliesFramework 下找到并添加System(或System.dll)。
  3. 点击OK保存。

关于c# - System.Net.Mail 引用不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15561320/

相关文章:

c# - 如何从 .Net 中的内存映射 I/O 端口读取?

c# - if(1 == null) 不应该导致错误吗?

c# - Call to Process 在 Debug 中运行良好,但在已安装的应用程序中不起作用

c# - 使用滚动条获取光标在面板上的位置

c# - 通过 System.Net.Mail C# 发送邮件时出现问题

c# - 如何设置 System.Net.Mail.MailMessage 的附件文件编码?

c# - 如何仅在单击按钮后才将 ListView 加载到表单中?

c# - 如何在 Entity Framework 中只加载基本类型

c - 在 c sharp 中调整自定义窗体的大小(带有阴影效果)和鼠标拖动事件的控件?

.net - 数字签名电子邮件