0

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

上传后我遇到了一个错误,你可以在这里看到:

“无法加载文件或程序集 'MySql.Web, Version=6.6.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d' 或其依赖项之一。系统找不到指定的文件。”

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

还是真的是我的错?

4

1 回答 1

0

我能够在下面执行以下操作。我正在运行针对 .Net Framework 4.0 的 VS2012.2、MVC4。我将它部署到我的托管服务提供商 (DiscountASP.Net) 的 .Net 4 服务器上。

  • 不要添加MySQL.Data, MySQL.Data.Entities,而是MySQL.Web通过NuGet.从 MySQL 站点下载 .Net 连接器。在发布这篇文章时,它是 MySQL.Data、MySql.Data.Entity 和 MySql.Web 的 6.6.5 版。如果您已经拥有它们,请NuGet务必从包管理器中卸载它们。

  • 手动将 .net 4 的 MySQL asm 引用添加到 MySQL 安装其 .net 连接器的项目中(我的在 .net 中C:\Program Files (x86)\MySQL\MySQL Connector Net 6.6.5\Assemblies\v4.0)。请务必检查Copy Local所有三个 asms。

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

在该<configuration><connectionStrings>部分:

<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" />

在该<configuration><system.web>部分:

<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>
  • 在 NSilverBullet向Joshua 致敬,这是我从中获取 web.config 详细信息的地方。
于 2013-04-01T08:54:45.967 回答