2015-02-02 19 views
5

che sto ottenendo un errore quando sto cercando di eseguire la mia pagina dice che,Il nome 'ConfigureAuth' non esiste nel contex corrente

Il nome 'ConfigureAuth' non esiste nella corrente context

nella mia classe Stratup. Sono sicuro che tutte le librerie AspNet Identity sono installate. Che cosa devo fare dopo, per provare a risolvere questo problema?

using Microsoft.Owin; 
using Owin; 
[assembly: OwinStartupAttribute(typeof(project_name.Startup))] 
namespace project_name 
{ 
    public partial class Startup 
    { 
     public void Configuration(IAppBuilder app) 
     { 
      ConfigureAuth(app); 
     } 
    } 
} 
+0

Dove ottieni l'errore? Su Build, in esecuzione in IIS, in esecuzione in IIS Express, in esecuzione in Cassini, in esecuzione su Linux tramite mod-mono .... ?? –

risposta

4

Se si utilizza modello di progetto di Studio di default visiva, il metodo ConfigureAuth potrebbe essere trovato in classe parziale Startup.Auth.cs. Quindi assicurati di non aver infranto nulla durante la modifica della struttura del progetto.

Questo è un esempio di metodo ConfigureAuth:

// For more information on configuring authentication, please visit http://go.microsoft.com/fwlink/?LinkId=301864 
public void ConfigureAuth(IAppBuilder app) 
{ 
    // Configure the db context and user manager to use a single instance per request 
    app.CreatePerOwinContext<ApplicationUserManager>(ApplicationUserManager.Create); 

    // Enable the application to use a cookie to store information for the signed in user 
    // and to use a cookie to temporarily store information about a user logging in with a third party login provider 
    app.UseCookieAuthentication(new CookieAuthenticationOptions()); 
    app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie); 

    // Configure the application for OAuth based flow 
    PublicClientId = "self"; 
    OAuthOptions = new OAuthAuthorizationServerOptions 
    { 
     TokenEndpointPath = new PathString("/api/Token"), 
     Provider = new ApplicationOAuthProvider(PublicClientId), 
     AuthorizeEndpointPath = new PathString("/api/Account/ExternalLogin"), 
     AccessTokenExpireTimeSpan = TimeSpan.FromDays(14), 
     AllowInsecureHttp = true 
    }; 

    // Enable the application to use bearer tokens to authenticate users 
    app.UseOAuthBearerTokens(OAuthOptions); 
} 
+3

per me era il problema dello spazio dei nomi, controlla [questo] (http://stackoverflow.com/a/30074236/2218697), la speranza aiuta qualcuno. – stom

+0

Ho lo stesso problema. Ho usato l'istruzione using per le differenze nello spazio dei nomi ma senza successo. La cosa che non capisco è se lo spazio dei nomi per entrambe le classi di avvio parziale è stato creato all'inizio con l'uso di un modello rispetto al perché gli errori? Utilizza il nome della soluzione per il partial Startup.cs e il nome del progetto per il parziale Startup.Auth.cs – Edward

4

ho avuto problema simile, Per risolvere il problema ho tolto .App_Start da spazio dei nomi nel file di Startup.Auth.cs. Dopo di ciò sono stato in grado di vedere il riferimento.

0

Assicurarsi che quando si crea originariamente il progetto non ci siano spazi nel nome. ad es. la mia app si chiamava "DevOps Test" che mi dava degli errori quando l'ho eseguito. ho ricreato come "DevopsTest" e non aveva più questi problemi

0

Si tratta di uno:

[assembly: **OwinStartup**(typeof(Project-Name.Startup))] 
    namespace project-name 
    { 
     public partial class Startup 
     { 
      public void **Configuration**(IAppBuilder app) 
        { 

O

[assembly: **OwinStartupAttribute**(typeof(Project-Name.Startup))] 
    namespace project-name 
    { 
     public partial class Startup 
     { 
      public void **ConfigureAuth**(IAppBuilder app) 
        { 

rinominare OwinStartupAttribute a OwinStartup o la configurazione di ConfigureAuth

1

Gentilmente noto che le due classi parziali (Startup.Auth.cs e Startup.cs) devono trovarsi nello stesso spazio che è la radice del progetto, basta cambiare il namespace di Startup.Auth.cs allo stesso dominio del Startup.cs

Problemi correlati