J'ai décidé d'utiliser la confirmation de compte et la récupération de mot de passe avec l'identité ASP.NET. J'utilise Identity 2.1.0. J'ai installé l'exemple d'application MVC de NuGet dans un projet vide afin que je puisse voir comment il est configuré.IOwinContext ne contient pas de définition pour GetUserManager()
Après avoir intégré les changements dans mon projet, il y a une erreur que je ne comprends pas comment résoudre:
« Microsoft.Owin.IOwinContext » ne contient pas de définition pour « GetUserManager » et pas d'extension La méthode 'GetUserManager' acceptant un premier argument de type 'Microsoft.Owin.IOwinContext' peut être trouvée (manque-t-il une directive using ou une référence d'assembly ?) C: \ Users \ xxxxx \ Source \ Repos \ xxxxxx \ xxxxxx \ xxxxxx \ Controllers \ AccountController.cs 48 69 xxx xxx xxx
L'erreur est jeté dans mes AccountController.cs:
public ApplicationUserManager UserManager
{
get
{
return _userManager ??
HttpContext.GetOwinContext().GetUserManager<ApplicationUserManager>();
}
private set
{
_userManager = value;
}
}
Dans l'exemple d'application et dans mon projet je vois sous Propriétés que les deux projets ont Microsoft.AspNet.Identity.Owin version 2.0.0.0 installé .
Quand je clique sur GetOwinContext droit() dans mon projet et Goto Définition, il montre que les métadonnées sont de Assembly Microsoft.Owin.Host.SystemWeb.dll, v2.1.0.0
, mais quand je clique sur Microsoft.Owin.Host.SystemWeb
sous Références Je vois dans les propriétés qu'il est seule version 2.0.0.0 - Non seulement cela semble étrange, mais il diffère également de l'exemple d'application qui montre 2.1.0.0. - C'est la seule différence que je peux trouver.
Je ne trouve aucune différence autre que ce qui est dans le paragraphe en gras ci-dessus. Cela semble faux, mais je ne suis pas sûr et je ne sais pas comment le réparer si c'est faux.
Merci, c'est tout ce dont il avait besoin. –