在开发asp.net mvc程序时,默认时我们会使用LocalDB, 我们有时会以为删除掉App_Data目录就可以自动新建数据库,但是我们在网站重新启动后(进入Account)就会发现报如下错误:
The ASP.NET Simple Membership database could not be initialized. For more information, please see http://go.microsoft.com/fwlink/?LinkId=256588
通过调式发现,该异常它是由InitializeSimpleMembershipAttribute类里抛出来的。
有人在Stackflow上面的回答,但似乎解决不了我的问题。我后来使用的解决方法是:
1、通过调用 %ProgramFiles%/Microsoft SQL Server/110/Tools/Binn/SqlLocalDB.exe info 查看一下我们的SqlLocalDB 实例(其实在连接字符串中也有)
2、得到本地的实例“V11.0",再通过 "SqlLocalDb.exe info "V11.0""得到状态,如果当前运行中,可以看到pipe name类似 “np:\.pipeLOCALDB#A52AC8AD sqlquery”
3、如果没有运行,可以调用 SqlLocalDB.exe start "V11.0"来启动该实例
4、接着打开Microsoft SQL Server Management Studio,添加连接,使用该pipe name,使用Windows Authetication 认证模式,就可以进入管理界面。
5、选择出问题的那个数据库名,比如 aspnet-Mvc4App-20140314141821,右键“Policies",再在弹出的二级菜单中选择“Delete Heath Status”。经过该操作, 该数据库就被重新初始化了(空的)。顺便提一下:我尝试过Deattch 该数据库,但操作失败。
6、接下来运行网站就可以正常工作了。