【发布时间】:2015-03-18 04:16:30
【问题描述】:
一般来说,在旧版 ASP.Net 和 .Net 中,发送邮件是通过位于 System.dll 中的 System.Net.Mail 类完成的。现在有了 KRE,vNext 似乎没有将System.Net.Mail 作为一个单独的包。
在project.json 中引用"net453" 框架
"frameworks": {
"aspnet50": { },
"aspnetcore50": { },
"net453": {} // <<< throws compilation errors
},
由于以下错误导致所有地狱崩溃:
.NET Framework 4.5.3 错误 CS0234:命名空间“Microsoft”中不存在类型或命名空间名称“AspNet”(您是否缺少程序集引用?)
它实际上抱怨属于 kpm 包的所有 vNext 依赖项。
那么,有没有人想出一种使用 ASP.Net vNext 发送邮件的方法?
注意
即使 System 出现在参考下,即使 Intellisense 显示 System.Net.Mail 可供使用,代码也无法编译。例如,这样一个简单的陈述,虽然看起来是有效的,
using System.Net.Mail;
var m = new MailMessage();
会抛出编译错误如:
ASP.NET Core 5.0 错误 CS0234:命名空间“System”中不存在类型或命名空间名称“Net”(您是否缺少程序集引用?)
ASP.NET Core 5.0 错误 CS0246:找不到类型或命名空间名称“MailMessage”(您是否缺少 using 指令或程序集引用?)
更新
使用最新的 Visual Studio 2015 CTP 5,他们似乎已经修复了智能感知故障。现在 System.Net 没有 Mail 命名空间了。附带说明一下,我使用 VS 2015 预览版创建的 vNext 项目不再工作 - 我在主页上收到 403.3 错误!啊,使用测试版软件的乐趣!
【问题讨论】:
-
我觉得用ctp 5 net 4.5.3已经不多了,已经改名为4.6
-
@LucaMorelli:这又是一团糟。 MSI 说“正在安装 4.5.3 ...”,但在添加/删除程序中,它显示 4.6,参考也是如此 - 例如
...\4.5.3\System.Core.dll
标签: c# .net asp.net-mvc email asp.net-core