ODD错误:System.Web.Security.SqlRoleProvider'需要与架构版本'1'兼容的数据库架构

时间:2011-10-10 10:14:21

标签: asp.net sql-server-2008 asp.net-membership

我使用asp.net 4 c#entity framework 4和asp.net成员资格。

我通常使用VS2010 CASSINI来测试我的Web应用程序..现在我必须将我的Web应用程序移动到IIS 7本地。

我的应用程序在Cassini上运行得很好,现在在IIS 7上,当某些脚本尝试访问asp.net成员资格表时出现此错误:

System.Web.Security.SqlRoleProvider' requires a database schema compatible with schema version '1'. However, the current database schema is not compatible with this version. You may need to either install a compatible schema with aspnet_reqsql.exe (available in the framework installation directory), or upgrade the provider to a newer version. Alright, my database was exactly the same and everything looked fine.

我与回收池和网站联系但问题仍然存在。

你有什么想法吗?非常感谢你的时间。不过。

更新:

我在SQL脚本中找到了这一行,生成了DB ...可以连接?:

xp_cmdshell 'c:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_regsql.exe -E -S localhost -A mr -Q -d SiteNameExtension' -- mr = install Membership, Role Manager

2 个答案:

答案 0 :(得分:0)

我的sql安装脚本中的这一行创建了问题:

xp_cmdshell 'c:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_regsql.exe -E -S localhost -A mr -Q -d SiteNameExtension' -- mr = install Membership, Role Manager

事实上,aspnet_regsql.exe并没有像我的Web.Configure那样定位框架版本(它是4)。

更新xp_cmdshell o正确的Framework版本我解决了问题

答案 1 :(得分:0)

尝试使用正确版本的System.Web.Security.SqlRoleProvider更新Web配置文件

您可以在c:/windows/microsoft.net/framework/v4.0.30319或任何其他版本中找到以下配置,您可以在那里找到配置文件。进入它检查机器配置文件 得到版本&公钥。

对于.net frameowork 4.0

     <roleManager enabled="true" defaultProvider="SqlProvider">
     <providers>
        <clear/>
        <add name="SqlProvider" connectionStringName="rolesDB" applicationName="/" type="System.Web.Security.SqlRoleProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
     </providers>
  </roleManager>

for .net framework 2.0

    <roleManager enabled="true" defaultProvider="SqlProvider">
     <providers>
        <clear/>
        <add name="SqlProvider" connectionStringName="rolesDB" applicationName="/" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
     </providers>
  </roleManager>