尝试加载应用程序时出现以下错误。 - OwinStartupAttribute.FriendlyName 值
The following errors occurred while attempting to load the app. - The OwinStartupAttribute.FriendlyName value
我想用 AspNetRoles
创建下拉列表。我使用此代码:
身份会议:
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>()));
}
}
.
启动:
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);
}
}
}
。
网络配置:
<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" />
控制器:
[AllowAnonymous]
public ActionResult Register()
{
ViewBag.name = new SelectList(db.Roles, "RoleID", "RoleName");
return View();
}
查看:
<div class="form-group">
<label>نوع عضویت</label>
<div class="col-md-10">
@Html.DropDownList("name", "--Select Name--")
</div>
</div>
但是当我 运行 项目向我显示此错误时:
The following errors occurred while attempting to load the app.
- The OwinStartupAttribute.FriendlyName value '' does not match the given value 'Identity_Work.IdentityConfig' in Assembly 'Identity_Work, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'.
- The given type or method 'Identity_Work.IdentityConfig' was not found. Try specifying the Assembly.
To disable OWIN startup discovery, add the appSetting owin:AutomaticAppStartup with a value of "false" in your web.config.
To specify the OWIN startup Assembly, Class, or Method, add the appSetting owin:AppStartup with the fully qualified startup class or configuration method name in your web.config.
。有什么问题 ?
编辑
就像错误信息解释的那样
The OwinStartupAttribute.FriendlyName value '' does not match the
given value 'Identity_Work.IdentityConfig'
按照错误信息的指示进行操作
The given type or method 'Identity_Work.IdentityConfig' was not found.
Try specifying the Assembly. To disable OWIN startup discovery, add
the appSetting owin:AutomaticAppStartup with a value of "false" in
your web.config. To specify the OWIN startup Assembly, Class, or
Method, add the appSetting owin:AppStartup with the fully qualified
startup class or configuration method name in your web.config.
首先你应该检查 Startup.cs
看看它是否正确引用了 class
[assembly: OwinStartup(typeof(Identity_Work.Startup))]
如果存在,那么您需要删除 web.config 中的 owin:AppStartup
(如果它存在并且未引用正确的 class
)
<add key="owin:AutomaticAppStartup" value="true" />
否则你可以更新web.config让owin使用
<add key="owin:AutomaticAppStartup" value="false" />
<add key="owin:AppStartup" value="Identity_Work.Startup" />
我只是指定了完整的路线,它对我有用!
Project name: Users.Web
Folders: App_Start
Class name: IdentityConfig
<add key="owin:AppStartup" value="Users.Web.App_Start.IdentityConfig" />
我想用 AspNetRoles
创建下拉列表。我使用此代码:
身份会议:
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>()));
}
}
.
启动:
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);
}
}
}
。 网络配置:
<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" />
控制器:
[AllowAnonymous]
public ActionResult Register()
{
ViewBag.name = new SelectList(db.Roles, "RoleID", "RoleName");
return View();
}
查看:
<div class="form-group">
<label>نوع عضویت</label>
<div class="col-md-10">
@Html.DropDownList("name", "--Select Name--")
</div>
</div>
但是当我 运行 项目向我显示此错误时:
The following errors occurred while attempting to load the app. - The OwinStartupAttribute.FriendlyName value '' does not match the given value 'Identity_Work.IdentityConfig' in Assembly 'Identity_Work, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. - The given type or method 'Identity_Work.IdentityConfig' was not found. Try specifying the Assembly. To disable OWIN startup discovery, add the appSetting owin:AutomaticAppStartup with a value of "false" in your web.config. To specify the OWIN startup Assembly, Class, or Method, add the appSetting owin:AppStartup with the fully qualified startup class or configuration method name in your web.config.
。有什么问题 ?
编辑
就像错误信息解释的那样
The OwinStartupAttribute.FriendlyName value '' does not match the given value 'Identity_Work.IdentityConfig'
按照错误信息的指示进行操作
The given type or method 'Identity_Work.IdentityConfig' was not found. Try specifying the Assembly. To disable OWIN startup discovery, add the appSetting owin:AutomaticAppStartup with a value of "false" in your web.config. To specify the OWIN startup Assembly, Class, or Method, add the appSetting owin:AppStartup with the fully qualified startup class or configuration method name in your web.config.
首先你应该检查 Startup.cs
看看它是否正确引用了 class
[assembly: OwinStartup(typeof(Identity_Work.Startup))]
如果存在,那么您需要删除 web.config 中的 owin:AppStartup
(如果它存在并且未引用正确的 class
<add key="owin:AutomaticAppStartup" value="true" />
否则你可以更新web.config让owin使用
<add key="owin:AutomaticAppStartup" value="false" />
<add key="owin:AppStartup" value="Identity_Work.Startup" />
我只是指定了完整的路线,它对我有用!
Project name: Users.Web
Folders: App_Start
Class name: IdentityConfig
<add key="owin:AppStartup" value="Users.Web.App_Start.IdentityConfig" />