首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >奇数错误:System.Web.Security.SqlRoleProvider需要与架构版本“%1”兼容的数据库架构

奇数错误:System.Web.Security.SqlRoleProvider需要与架构版本“%1”兼容的数据库架构
EN

Stack Overflow用户
提问于 2011-10-10 18:14:21
回答 2查看 2.2K关注 0票数 1

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

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

我的应用程序在卡西尼上运行得很好,现在在IIS7上,当一些脚本试图访问asp.net成员资格表时,我得到了这个错误:

代码语言:javascript
复制
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脚本中找到了这一行: generate the DB ...可以连接吗?:

代码语言:javascript
复制
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
EN

回答 2

Stack Overflow用户

发布于 2011-10-11 16:41:44

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

代码语言:javascript
复制
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

事实上,在我的Web.Configure中,aspnet_regsql.exe的目标并不是框架版本(它是4)。

将xp_cmdshell更新到正确的框架版本我解决了这个问题

票数 0
EN

Stack Overflow用户

发布于 2013-12-10 23:57:01

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

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

对于.net Fraowork4.0

代码语言:javascript
复制
     <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>

对于.net框架2.0

代码语言:javascript
复制
    <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>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7711303

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档