2014-12-09 6 views
5

Sto cercando di utilizzare il controller VS2015 MVC e specificamente GetUserID su User.IdentityIIdentity non contiene una definizione per 'GetUserID'

Ho visto una serie di domande simili relative a questo stato, che per aggiungere di riferimento a Microsoft.AspNet.Identity, tuttavia come puoi vedere è referenziato.

presumo mi manca un pacchetto o una cosa che proprio non riesco a capirlo

using Microsoft.AspNet.Identity; 
using Microsoft.AspNet.Mvc; 
using Web_Test.Models; 

namespace Web_Test.Controllers 
{ 
    public class TestController : Controller 
    { 
    public TestController(UserManager<ApplicationUser> userManager, SignInManager<ApplicationUser> signInManager) 
    { 
     UserManager = userManager; 
     SignInManager = signInManager; 
    } 
    public UserManager<ApplicationUser> UserManager { get; private set; } 
    public SignInManager<ApplicationUser> SignInManager { get; private set; } 

    public IActionResult Index() 
    { 
     //GetUserId() underlined in Red in VS2015 
     //IIDentity does not contain a definition for 'GetUserId' 
     string currentUserId = User.Identity.GetUserId(); 
     return View(); 
    } 
} 
} 
+0

è impostato su "forme" modalità di autenticazione? – dotctor

risposta

10

provare ad aggiungere using System.Security.Principal;, dal momento che il metodo di estensione è parte di tale spazio dei nomi. Vedi il codice here.

+0

e ce l'abbiamo, grazie. sapevo che dovrebbe essere facile – RoughPlace

7

Aggiungendo il seguente ha funzionato per me. Ho anche bisogno di aggiungere il pacchetto NuGet Microsoft ASP.NET Identity Core fornita dal @Badri.

using Microsoft.AspNet.Identity; // NuGet: Microsoft ASP.NET Identity Core.