当前上下文中不存在名称 'ConfigureAuth'

The name 'ConfigureAuth' does not exist in the current contex

我在尝试 运行 我的页面时遇到错误,

The name 'ConfigureAuth' does not exist in the current context

在我的 Stratup Class 中。我确定所有 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);
        }
     }
}

如果您使用默认的 Visual Studio 项目模板,ConfigureAuth 方法可以在部分 class 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);
}

我有类似的问题,为了解决这个问题,我从 Startup.Auth.cs 文件的命名空间中删除了 .App_Start。之后,我能够看到参考。

确保最初创建项目时名称中没有空格。 例如我的应用程序名为 "DevOps Test",当我 运行 它时出现错误。 我将其重新创建为 "DevopsTest" 并且不再有这些问题

它是:

    [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 重命名为 OwinStartup 或配置 ConfigureAuth

请注意,两个部分 类(Startup.Auth.csStartup.cs)应该在与项目根目录相同的命名空间中,只需将 Startup.Auth.cs 的命名空间更改为 Startup.cs 的相同命名空间

命名空间PAYOnline.App_Start

删除 App_Start 仅命名空间 PAYOnline => 做得很好