从 MVC 迁移种子方法中调用成员身份方法'Could not load type'错误 asp.net



我在configuration.cs中使用Seed方法,该方法是在ASP.Net MVC项目中打开"代码优先迁移"时创建的。

我平时所有的context.ENTITYHERE.AddOrUpdate电话都工作得很好。当我试图用这个会员提供商设置一些用户时,问题来了:

Could not load type 'CodeFirstMembershipSharp.CodeFirstMembershipProvider' from assembly 'System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'.

如果我禁用"Membership.CreateUser(用户名、密码、电子邮件、null、null、IsApproved、null、out CreateStatus);"在WebSecurity.cs中的第行,它似乎还可以。。!

有什么想法吗?非常感谢您的帮助!

EDIT:我现在意识到这并没有那么大帮助,因为它使用了一个完全不同的成员资格提供者(尽管相似)。我仍然不确定如何最好地解决这个问题,但我留下了我的答案,因为我希望它可能会有所帮助

我知道这已经很旧了,但我找到了一个安装最新提供商的解决方案。此链接包含所需信息:

http://www.hanselman.com/blog/IntroducingSystemWebProvidersASPNETUniversalProvidersForSessionMembershipRolesAndUserProfileOnSQLCompactAndSQLAzure.aspx

有趣的是,自动进行的web.config更改似乎包含了比旧更改更多的信息。

我以前的供应商线路是:

<membership defaultProvider="CodeFirstMembershipProvider">
        <providers>
          <add name="CodeFirstMembershipProvider" type="CodeFirstMembershipProvider" connectionStringName="[YOURCONNECTIONNAME]" />
        </providers>
      </membership>
      <roleManager enabled="true" defaultProvider="CodeFirstRoleProvider">
        <providers>
          <clear />
          <add name="CodeFirstRoleProvider" type="CodeFirstRoleProvider" connectionStringName="[YOURCONNECTIONNAME]" />
        </providers>
      </roleManager>

新的提供商代码如下所示:

<profile defaultProvider="DefaultProfileProvider">
        <providers>
          <add name="DefaultProfileProvider" type="System.Web.Providers.DefaultProfileProvider, System.Web.Providers, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="[YOURCONNECTIONNAME]" applicationName="/" />
        </providers>
      </profile>
      <membership defaultProvider="DefaultMembershipProvider">
        <providers>
           <add name="DefaultMembershipProvider" type="System.Web.Providers.DefaultMembershipProvider, System.Web.Providers, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="[YOURCONNECTIONNAME]" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" />
        </providers>
      </membership>
      <roleManager defaultProvider="DefaultRoleProvider">
        <providers>
           <add name="DefaultRoleProvider" type="System.Web.Providers.DefaultRoleProvider, System.Web.Providers, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="[YOURCONNECTIONNAME]" applicationName="/" />
        </providers>
      </roleManager>

相关内容

最新更新