尝试加载应用程序时发生以下错误. - OwinStartupAttribute.FriendlyName值

Kia*_*ush 3 c# asp.net-mvc owin asp.net-identity-2

我想创建下拉列表AspNetRoles.我用这个代码:

Idnetity Conf:

public class ApplicationRoleManager : RoleManager<IdentityRole>
{
    public ApplicationRoleManager(IRoleStore<IdentityRole, string> roleStore)
        : base(roleStore)
    {
    }

    public static ApplicationRoleManager Create(IdentityFactoryOptions<ApplicationRoleManager> options, IOwinContext context)
    {
        return new ApplicationRoleManager(new RoleStore<IdentityRole>(context.Get<ApplicationDbContext>()));
    }
}
Run Code Online (Sandbox Code Playgroud)

.

启动:

using System;
using Microsoft.AspNet.Identity;
using Microsoft.AspNet.Identity.Owin;
using Microsoft.Owin;
using Microsoft.Owin.Security.Cookies;
using Microsoft.Owin.Security.Google;
using Owin;
using Identity_Work.Models;

namespace Identity_Work
{
    public partial class Startup
    {
        public void ConfigureAuth(IAppBuilder app)
        {
            app.CreatePerOwinContext(ApplicationDbContext.Create);
            app.CreatePerOwinContext<ApplicationUserManager>(ApplicationUserManager.Create);
            app.CreatePerOwinContext<ApplicationRoleManager>(ApplicationRoleManager.Create);
            app.CreatePerOwinContext<ApplicationSignInManager>(ApplicationSignInManager.Create);
            app.UseCookieAuthentication(new CookieAuthenticationOptions
            {
                AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
                LoginPath = new PathString("/Account/Login"),
                Provider = new CookieAuthenticationProvider
                {  
                    OnValidateIdentity = SecurityStampValidator.OnValidateIdentity<ApplicationUserManager, ApplicationUser>(
                        validateInterval: TimeSpan.FromMinutes(30),
                        regenerateIdentity: (manager, user) => user.GenerateUserIdentityAsync(manager))
                }
            });
            app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie);            app.UseTwoFactorSignInCookie(DefaultAuthenticationTypes.TwoFactorCookie, TimeSpan.FromMinutes(5));    app.UseTwoFactorRememberBrowserCookie(DefaultAuthenticationTypes.TwoFactorRememberBrowserCookie);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

.Web配置:

<appSettings>
<add key="webpages:Version" value="3.0.0.0" />
<add key="webpages:Enabled" value="false" />
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
<add key="owin:AppStartup" value="Identity_Work.IdentityConfig" />
Run Code Online (Sandbox Code Playgroud)

控制器:

[AllowAnonymous]
public ActionResult Register()
{
    ViewBag.name = new SelectList(db.Roles, "RoleID", "RoleName");

    return View();
}
Run Code Online (Sandbox Code Playgroud)

查看:

<div class="form-group">
    <label>??? ?????</label>
    <div class="col-md-10">
        @Html.DropDownList("name", "--Select Name--")
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

但是当我运行项目时显示这个错误:

尝试加载应用程序时发生以下错误. - OwinStartupAttribute.FriendlyName值''与Assembly'Identity_Work,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null'中的给定值'Identity_Work.IdentityConfig'不匹配. - 找不到给定的类型或方法"Identity_Work.IdentityConfig".尝试指定程序集.要禁用OWIN启动发现,请在web.config中添加值为"false"的appSetting owin:AutomaticAppStartup.要指定OWIN启动程序集,类或方法,请在web.config中添加appSetting owin:AppStartup以及完全限定的启动类或配置方法名称.

.有什么问题 ?

编辑

在此输入图像描述

Nko*_*osi 7

像错误消息解释一样

OwinStartupAttribute.FriendlyName值''与给定值'Identity_Work.IdentityConfig'不匹配

按照错误消息的说明进行操作

找不到给定的类型或方法"Identity_Work.IdentityConfig".尝试指定程序集.要禁用OWIN启动发现,请在web.config中添加值为"false"的appSetting owin:AutomaticAppStartup.要指定OWIN启动程序集,类或方法,请在web.config中添加appSetting owin:AppStartup以及完全限定的启动类或配置方法名称.

首先您应该检查Startup.cs它是否具有对该类的正确引用

[assembly: OwinStartup(typeof(Identity_Work.Startup))]
Run Code Online (Sandbox Code Playgroud)

如果是,那么你需要owin:AppStartup在web.config中删除它是否存在并且没有引用正确的类

<add key="owin:AutomaticAppStartup" value="true" />
Run Code Online (Sandbox Code Playgroud)

否则,您可以更新web.config以让owin使用

<add key="owin:AutomaticAppStartup" value="false" />
<add key="owin:AppStartup" value="Identity_Work.Startup" />
Run Code Online (Sandbox Code Playgroud)