【发布时间】:2012-10-09 20:17:00
【问题描述】:
我不知道如何配置我的 web.config 以使 web-site-admistration 工具与 Visual Studio 2012 中的 MVC 4 项目一起工作。
以下是重现此行为的步骤
- 在 Visual Studio 2012 中创建一个新的 MVC4 项目
- 运行项目(ctrl+f5)
- 注册并登录。您会注意到在 app_data 文件夹中创建了一个新文件。例如aspnet-MvcApplication6-20121009211525.mdf
如果您打开 mdf 文件(在 Visual Studio 中),您将能够在服务器资源管理器窗口中浏览架构。
现在启动网站管理工具(项目->asp.net 配置)。尝试转到安全选项卡。你应该看到我这样的消息:
您选择的数据存储存在问题。这可能是由于 通过无效的服务器名称或凭据,或不足 允许。它也可能是由角色管理器功能引起的 被启用。点击下面的按钮被重定向到一个页面 您可以选择一个新的数据存储。 以下消息可能有助于诊断问题:无法 连接到 SQL Server 数据库。
我已经用谷歌搜索了我的问题的解决方案,但似乎大多数答案都是针对旧版本的 MVC / Visual Studio,所以我还没有成功。令我惊讶的是,当您使用标准 MVC 4 模板时,web.config 中既没有成员资格也没有 roleManager 部分(而如果您创建 ASP.NET Forms 应用程序,您将看到这两个部分。不幸的是,我遇到了同样的错误ASP.NET WebForms 模板,所以我没有继续调查。)。此外,roleManager 或成员资格配置部分通常定义来自 System.Web.Provider 程序集的提供程序。 MVC 4 模板甚至没有引用 System.Web.Provider 程序集,所以我想知道角色/成员资格在 MVC 4 中是如何工作的。它可能在新版本中已经过时,但我没有找到关于这个主题的信息(系统.Web.Security 程序集似乎取代了 System.Web.Provider)。我的错误也可能与我只安装了 LocalDB 而没有其他 SQL Server 实例有关。
所以我的问题是:你能重现这个错误并且你能修复它吗?这是什么原因?
任何帮助将不胜感激。
【问题讨论】:
-
我开发了 MVC 网站管理工具的替代品:aaron-hoffman.blogspot.com/2013/08/… 代码:github.com/StoneFinch/SmpMaintenance
标签: asp.net-membership asp.net-mvc-4 visual-studio-2012