我正在使用asp.net MVC5和Visual Studio 2013创建一个Web应用程序。我将sendgrid API安装到我的解决方案中,并创建了一个实现接口IIdentityMessageService
的类(实际上我正在遵循教程) 。问题是,VS一直说无法找到界面或我错过了程序集引用。我仔细检查过,我有所需的所有包含和所有的装配参考。我甚至去了微软网站,检查我是否使用了正确的网站。这是代码:
using SendGrid;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Diagnostics;
using System.Linq;
using System.Net;
using System.Threading.Tasks;
using System.Web;
using Microsoft.AspNet.Identity;
namespace ESW.Models
{
public class EmailService : IIdentityMessageService
{
public async Task SendAsync(IdentityMessage message)
{
await configSendGridasync(message);
}
// Use NuGet to install SendGrid (Basic C# client lib)
private async Task configSendGridasync(IdentityMessage message)
{
var myMessage = new SendGridMessage();
myMessage.AddTo(message.Destination);
myMessage.From = new System.Net.Mail.MailAddress(
"Joe@contoso.com", "Joe S.");
myMessage.Subject = message.Subject;
myMessage.Text = message.Body;
myMessage.Html = message.Body;
var credentials = new NetworkCredential(
ConfigurationManager.AppSettings["mailAccount"],
ConfigurationManager.AppSettings["mailPassword"]
);
// Create a Web transport for sending email.
var transportWeb = new Web(credentials);
// Send the email.
if (transportWeb != null)
{
await transportWeb.DeliverAsync(myMessage);
}
else
{
Trace.TraceError("Failed to create Web transport.");
await Task.FromResult(0);
}
}
}
}
这是我用来验证装配参考的页面。
答案 0 :(得分:1)
我在遵循该教程时遇到了同样的问题。 Thilina De Silva让我走上正轨。它不是关于版本,但是没有安装包。
这将安装最新版本(使用软件包管理器控制台)
Install-Package Microsoft.AspNet.Identity.Owin
答案 1 :(得分:0)
检查您的Microsoft.AspNet.Identity.Owin版本。你应该有最低2.1.0(但更好的安装newset - 现在它是2.2.1)。
如果必须更新 - 使用NuGet安装它:
Update-Package Microsoft.AspNet.Identity.Owin -Version 2.2.1