System.Data.SqlClient.SqlException:找不到存储过程'dbo.aspnet_CheckSchemaVersion

kom*_*mbo 3 asp.net

我正在使用构建webform vs2012 Express.我正在使用ASP.NET Membership provider.
在配置中sqlmembershipprovider,我在我的数据库上运行了以下sql批处理.

\WINDOWS\Microsoft.NET\Framework\v4.030319\InstallCommon.sql
\WINDOWS\Microsoft.NET\Framework\v4.030319\InstallMembership.sql    
Run Code Online (Sandbox Code Playgroud)

安装Membership.When我尝试在我的应用程序上注册新用户时收到以下错误消息:

例外细节:
System.Data.SqlClient.SqlException: Could not find stored procedure 'dbo.aspnet_CheckSchemaVersion'.

来源错误:

在执行当前Web请求期间生成了未处理的异常.可以使用下面的异常堆栈跟踪来识别有关异常的起源和位置的信息.

Stack Trace:


[SqlException (0x80131904): Could not find stored procedure 'dbo.aspnet_CheckSchemaVersion'.]
System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) +1769462
 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) +5318578
.......
Run Code Online (Sandbox Code Playgroud)

通过堆栈溢出上发布的类似问题的跟踪和答案,我注意到我sqlbatches在错误上运行了两个db:A.我在db:A上创建了类似的表,并更改了web congfig中的连接字符串.它works.But在db:B我工作的是我想要安装的成员,当我跑同样的sqlbatches这个db:B必要的对象不是installed.Both数据库是在同一台服务器上.
有没有人知道我为什么以及接下来该做什么?

Mik*_*ade 6

设置成员资格提供程序数据库的正确方法是运行asp.net reg工具.它可以在以下位置找到:

"C:\Windows\Microsoft.NET\Framework\<FrameworkVersion>\aspnet_regsql.exe"

更多信息 http://msdn.microsoft.com/en-us/library/x28wfk74(v=vs.100).aspx