2015-02-02 9 views
5

मैं जब मैं अपने पेज चलाने का प्रयास कर रहा हूँ एक त्रुटि हो रही है का कहना है कि,नाम 'ConfigureAuth' वर्तमान contex में मौजूद नहीं है

नाम 'ConfigureAuth' वर्तमान में मौजूद नहीं है संदर्भ

मेरे Stratup कक्षा में। मुझे यकीन है कि सभी AspNet Identity पुस्तकालय स्थापित हैं। इसे ठीक करने का प्रयास करने के लिए मुझे आगे क्या करने की ज़रूरत है?

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

कहाँ हैं की एक ही नाम स्थान के लिए Startup.Auth.cs का नाम स्थान बदल आपको त्रुटि मिल रही है? बिल्ड पर, आईआईएस में चल रहा है, आईआईएस एक्सप्रेस में चल रहा है, कैसिनी में चल रहा है, जो मॉड-मोनो के माध्यम से लिनक्स पर चल रहा है .... ?? –

उत्तर

4

आप डिफ़ॉल्ट दृश्य स्टूडियो परियोजना टेम्पलेट का उपयोग कर रहे हैं, तो ConfigureAuth विधि आंशिक वर्ग Startup.Auth.cs में पाया जा सकता है। इसलिए सुनिश्चित करें कि आपने परियोजना संरचना को संशोधित करते समय कुछ भी तोड़ नहीं दिया है।

// 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

मेरे लिए यह नामस्थान मुद्दा था, [यह] जांचें (http://stackoverflow.com/a/30074236/2218697), उम्मीद किसी की मदद करती है। – stom

+0

मुझे एक ही समस्या है। मैंने नेमस्पेस मतभेदों के लिए उपयोग कथन का उपयोग किया लेकिन कोई सफलता नहीं मिली। जिस चीज को मैं समझ नहीं पा रहा हूं वह यह है कि क्या आंशिक स्टार्टअप कक्षाओं के लिए नामस्थान शुरुआत में टेम्पलेट के उपयोग से त्रुटियों की तुलना में बनाया गया था? यह Startup.cs आंशिक के लिए समाधान का नाम और Startup.Auth.cs आंशिक के लिए प्रोजेक्ट का नाम उपयोग करता है – Edward

4

मैं वही समस्या थी, इस मुद्दे को मैं Startup.Auth.cs फ़ाइल में नाम स्थान से .App_Start हटाया ठीक करने के लिए:

यह ConfigureAuth विधि का एक उदाहरण है। उसके बाद मैं संदर्भ देखने में सक्षम था।

0

सुनिश्चित करें कि जब आप मूल रूप से प्रोजेक्ट बनाते हैं कि नाम में कोई स्थान नहीं है। उदा। मेरे ऐप को "देवोप टेस्ट" कहा जाता था जो मुझे चलाने पर त्रुटियां दे रहा था। मैं "DevopsTest" के रूप में यह निर्मित है और अब इन मुद्दों

0

यह या तो है था:

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

या

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

या तो OwinStartupAttribute नाम बदलने ConfigureAuth

को
1
या विन्यास OwinStartup को

कृपया मुझे ध्यान दें कि दो आंशिक कक्षाएं (स्टार्टअप.एथ.cs और Startup.cs) एक ही नाम स्थान जो परियोजना की जड़ है में होना चाहिए, सिर्फ Startup.cs

संबंधित मुद्दे