2

我正在使用 Brock Allen 的出色MembershipReboot库在我的 .NET 应用程序中提供身份服务。根据MembershipReboot 入门,MembershipReboot 使用实体框架 (EF) 进行数据访问。

示例应用程序包含 SQL Server 数据库 MembershipReboot.mdf。从这个数据库中,我导出了架构和数据并将其导入到我的应用程序的数据库中(MyTestApp.mdf - 见下文)。

您可以看到 MembershipReboot.mdf 的来源,因为 MembershipReboot 附带的示例定义了以下连接字符串:

<add name="MembershipReboot" connectionString="Data Source=(LocalDb)\bla;Initial Catalog=MembershipReboot;Integrated Security=True" providerName="System.Data.SqlClient"/>

我为我的应用程序的数据库设置了以下连接字符串:

<add name="DefaultConnectionString" connectionString="Server=(LocalDb)\bla;AttachDbFilename=|DataDirectory|\MyTestApp.mdf;Initial Catalog=MyTestApp;Integrated Security=True" providerName="System.Data.SqlClient" />

直到最近,一切都很好。然后,在我的应用程序启动后,我开始间歇性地收到以下错误:

无法将文件“C:\Users\mkrieger\Google Drive\Projects\MyTestApp\MyTestApp\App_Data\MembershipReboot.mdf”附加为数据库“MembershipReboot”。

说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详细信息:System.Data.SqlClient.SqlException:无法将文件“C:\Users\mkrieger\Google Drive\Projects\MyTestApp\MyTestApp\App_Data\MembershipReboot.mdf”附加为数据库“MembershipReboot”。

我对我的应用程序目录进行了全文搜索,然后对“MembershipReboot.mdf”的可执行文件和所有二进制文件进行了字符串搜索,但结果为空。

我错过了什么?

4

1 回答 1

1

Brock Allen 以前见过这个问题(这个问题与 MembershipReboot 或任何特定的库无关)。

是的,我以前见过这个错误。这是当您删除 sql express 文件(mdf 等)但不从数据库服务器中删除数据库时 - 换句话说,您需要从 Sql Server Mgmt Studio 中或从 Visual Studio 中的 Sql Server 资源管理器中删除数据库.

这对我有用。

于 2014-10-27T18:09:50.503 回答