IIdentityMessageService not found

本文关键字:found not IIdentityMessageService | 更新日期: 2023-09-27 18:34:31

我正在使用 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);
            }
        }
    }
}

编辑: http://msdn.microsoft.com/en-us/library/microsoft.aspnet.identity.iidentitymessageservice(v=vs.108(.aspx

这是我用来验证程序集引用的页面。

IIdentityMessageService not found

我在

学习该教程时遇到了同样的问题。蒂琳娜·德席尔瓦让我走上了正确的轨道。这与版本无关,未安装软件包。

这将安装最新版本(使用包管理器控制台(

Install-Package Microsoft.AspNet.Identity.Owin

检查您的Microsoft.AspNet.Identity.Owin版本。您应该至少具有 2.1.0(但最好安装 newset - 现在是 2.2.1(。

如果必须更新 - 请使用NuGet安装它:

Update-Package Microsoft.AspNet.Identity.Owin -Version 2.2.1