Добавлено расширение Identity 2.0 (ASP.Net MVC) работает нормально, но VS выдает ошибки. Расширения не реализованы

Это на самом деле не проблема, а скорее вопрос почему.

В настоящее время я использую Identity 2.0 в ASP.Net Mvc и решил добавить свои собственные претензии, например, чтобы получить свойства расширений из моей модели прямо из IIdentity.

Это прекрасно работает, так как я создал несколько претензий, и я могу вызвать необходимые данные. Однако в VS studio выдает ошибки, говорящие о том, что у IIdentity нет определения для моих методов расширений...

Еще раз подчеркиваю, все работает, проект строит все запрошенные данные, показывает в браузере...

Кто-нибудь испытывал это раньше, и как я могу это решить?

Некоторый код я реализовал ниже.

Класс расширения

public static class IdentityExtensions
{
    public static string GetNaam(this IIdentity identity)
    {
        var claim = ((ClaimsIdentity)identity).FindFirst("Naam");
        return (claim != null) ? claim.Value : string.Empty;
    }

    public static string GetUserId(this IIdentity identity)
    {
        var claim = ((ClaimsIdentity)identity).FindFirst("Id");
        return (claim != null) ? claim.Value : string.Empty;
    }
}

Метод создания идентичности

 public async Task<ClaimsIdentity> GenerateUserIdentityAsync(UserManager<ApplicationUser> manager)
    {
        // Note the authenticationType must match the one defined in CookieAuthenticationOptions.AuthenticationType
        var userIdentity = await manager.CreateIdentityAsync(this, DefaultAuthenticationTypes.ApplicationCookie);
        // Add custom user claims here
        userIdentity.AddClaim(new Claim("Id", this.Id.ToString()));
        userIdentity.AddClaim(new Claim("Naam", this.Naam.ToString()));


        return userIdentity;
    }

Призыв к иску

User.Identity.GetUserId().ToString()

Ошибка, которую выдает студия VS при вызове заявки

IIdentity does not contain a definition for GetNaam and no extension method GetNaam accepting a first argument of type IIdentity could be found (are you missing a using directive or an assembly reference?)   

0 ответов

Другие вопросы по тегам