Добавлено расширение 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?)