升级后,MVC3尝试创建成员资格表

时间:2011-05-17 00:40:38

标签: authentication asp.net-mvc-3 entity-framework-4.1

我已将asp.net mvc 2项目升级到mvc 3.我使用的是SQL Server的常规版本,而不是快递。
升级到mvc 3之后,似乎工作得很好 在我添加了Deployable Dependencies之后,它尝试使用和指向sql express的machine.config配置创建表(它失败了)。

我已经使用我的web.config文件删除了LocalSqlServer并得到了这个:

Parser Error Message: The connection name 'LocalSqlServer' was not found in the applications configuration or the connection string is empty.

Source Error:

Line 236:       <membership>
Line 237:           <providers>
Line 238:               <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="LocalSqlServer" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="/" requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="7" minRequiredNonalphanumericCharacters="1" passwordAttemptWindow="10"  passwordStrengthRegularExpression=""/>
Line 239:           </providers>
Line 240:       </membership>

我在自己的表中使用自定义表单身份验证,这在升级之前工作正常。为了向后兼容,我的文件模型相关文件都没有从之前的版本升级到这个版本(不太确定要修改的内容)。

我的web.config文件中唯一与身份验证相关的是

<authentication mode="Forms">
  <forms loginUrl="~/login/" timeout="2880" />
</authentication>

有什么想法吗?

由于

1 个答案:

答案 0 :(得分:1)

检查web.config中的角色提供程序并确保它指向外部数据库,否则如果您使用的是角色,它将生成本地数据库。