web-dev-qa-db-ja.com

「ConfigureAuth」という名前は現在のコンテキストに存在しません

ページを実行しようとするとエラーが発生します。

「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);
        }
     }
}
9
kez

デフォルトのVisualStudioプロジェクトテンプレートを使用している場合、ConfigureAuthメソッドは部分クラスStartup.Auth.csにあります。したがって、プロジェクト構造を変更するときに何も壊さないようにしてください。

これは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);
}
7
Sergey Kolodiy

同様の問題がありました。問題を修正するために、Startup.Auth.csファイルの名前空間から.App_Startを削除しました。その後、リファレンスを見ることができました。

8
renga

それは次のいずれかです:

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

OR

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

OwinStartupAttributeの名前をOwinStartupに変更するOR ConfigurationをConfigureAuthに変更する

2
shlasasha

2つの部分クラス(Startup.Auth.csStartup.cs)は、プロジェクトのルートである同じ名前空間にある必要があることに注意してください。 Startup.Auth.csの名前空間からStartup.csの同じ名前空間へ

1
Eng Hazymeh

プロジェクトを最初に作成するときは、名前にスペースが含まれていないことを確認してください。例えば私のアプリは「DevOpsTest」と呼ばれ、実行するとエラーが発生していました。 「DevopsTest」として再作成しましたが、これらの問題は発生しなくなりました

0
thommck