0

我正在尝试构建一个复杂的 Web 项目,其中涉及 4 个网站,这些网站都共享相同的模型、数据库,并且还使用基于内置表单的身份验证。

以前有人建议我创建一个包含共享元素的类库,然后在我的每个项目中引用该库。这对我来说很有意义,但即使在包含所有参考资料之后,我似乎也遇到了很多错误。所以我基本上是从头开始,现在我在一个解决方案下有两个常规的 MVC 4.0 项目。第一个项目运行良好。它包含基于表单的身份验证成员身份控制器和模型,以及我所有的数据模型和 App_Data 文件夹,里面有 db。web.config 文件指向数据库,使用提供的默认视图和控制器测试成员资格功能完全没有问题。

我在第一个应用程序上设置了第二个应用程序的依赖关系,并引用了第一个项目。这个项目只包含默认的 HomeController 和 Views。我在构建时没有错误。例如,当我运行网站然后尝试访问 /Account/LogOff 时,我收到以下错误:

无法将文件“~\App_Data\Pp.mdf”附加为数据库“Pp。

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

异常详细信息:System.Data.SqlClient.SqlException:无法将文件“~\App_Data\Pp.mdf”附加为数据库“Pp。

源错误:

第 39 行:} 第 40 行:第 41 行:WebSecurity.InitializeDatabaseConnection("PpDB", "UserProfile", "UserId", "UserName", autoCreateTables: true); 第 42 行:} 第 43 行:catch(异常前)

源文件:c:\Users\Administrator\Documents\Prp\PpModels\Filters\InitializeSimpleMembershipAttribute.cs 行:41

我尝试使用第二个项目的连接字符串,但我真的不确定如何使用 MVC 解析路径。

任何帮助和建议将不胜感激。我正在拔头发!如果您知道任何向您展示如何使用多个项目共享模型和数据库的教程,那将不胜感激。谢谢!

4

1 回答 1

0

答案是在第二个项目的连接字符串中硬编码完整路径,使其指向第一个项目中的 app_data 文件夹。

于 2012-09-04T13:08:19.030 回答