Asp.net mvc 4 一,;1 Windows主机/窗体身份验证数据库

Asp.net mvc 4 一,;1 Windows主机/窗体身份验证数据库,asp.net-mvc-4,Asp.net Mvc 4,在Studio 2012中,我使用dotnet 4.0创建了一个带有表单身份验证的MVC4项目。我在web.config中将数据库的connectionstring更改为使用sql数据库而不是本地mdf文件 上传后,我遇到了一个错误,您可以看到: 无法加载文件或程序集'MySql.Web,版本=6.6.4.0, 区域性=中性,PublicKeyToken=c5687fc88969c44d'或其 依赖项。系统找不到指定的文件。“ 我确信微软不会将MySql程序集绑定到一个新的MVC4项目中。我认为

在Studio 2012中,我使用dotnet 4.0创建了一个带有表单身份验证的MVC4项目。我在web.config中将数据库的connectionstring更改为使用sql数据库而不是本地mdf文件

上传后,我遇到了一个错误,您可以看到:

无法加载文件或程序集'MySql.Web,版本=6.6.4.0, 区域性=中性,PublicKeyToken=c5687fc88969c44d'或其 依赖项。系统找不到指定的文件。“

我确信微软不会将MySql程序集绑定到一个新的MVC4项目中。我认为这是1&1的错误配置


还是真的是我的错?

我能够让它工作,完成以下操作。我正在运行VS2012.2、MVC4和.NETFramework4.0。我将它部署到我的托管提供商(DiscountASP.Net)的.NET4服务器上

  • 不要通过
    NuGet添加
    MySQL.Data、MySQL.Data.Entities
    MySQL.Web
    而是从MySQL站点下载.Net连接器。在撰写本文时,MySQL.Data、MySQL.Data.Entity和MySQL.Web的版本是6.6.5。如果您已经从
    NuGet
    中安装了它们,请确保从软件包管理器中卸载它们

  • 手动将.net 4的MySQL asm引用添加到MySQL安装其.net连接器的项目中(我的位于
    C:\Program Files(x86)\MySQL\MySQL Connector net 6.6.5\Assembly\v4.0
    )。确保检查所有三个ASM的
    Copy Local

  • 在web.config中添加或修改以下内容:

部分:

<add name="MyProviderDbConn" connectionString="server=mysql01.someurl.com;User Id=dbuser1;Pwd=ToManySecrets;Persist Security Info=True;database=MyDbSchemaName;Use Compression=True;port=3306" providerName="MySqlMembershipProvider" />
<membership defaultProvider="MySqlMembershipProvider">
<providers>
<clear />
<add name="MySqlMembershipProvider" type="MySql.Web.Security.MySQLMembershipProvider, MySql.Web, Version=6.6.5.0, PublicKeyToken=c5687fc88969c44d" autogenerateschema="true" connectionStringName="MyProviderDbConn" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" passwordStrengthRegularExpression="" applicationName="/" />
</providers>
</membership>
这就是我获取web.config详细信息的来源