使用Studio 2012,我使用dotnet 4.0创建了一个带有表单身份验证的MVC4项目。我在web.config中更改了数据库的连接字符串,以使用sql-database而不是本地mdf文件。
上传后我遇到了错误,您可以看到here:
“无法加载文件或程序集”MySql.Web,版本= 6.6.4.0, Culture = neutral,PublicKeyToken = c5687fc88969c44d'或其中一个 依赖。系统找不到指定的文件。“
我确信Microsoft不会将MySql-Assembly绑定到一个新的MVC4项目中。我认为这是1& 1的错误配置。
或者这真的是我的错吗?
答案 0 :(得分:0)
我能够让它在下面进行以下工作。我正在运行VS2012.2,MVC4,目标是.Net Framework 4.0。我将它部署到我的托管服务提供商(DiscountASP.Net)的.Net 4服务器上。
请勿通过MySQL.Data, MySQL.Data.Entities
添加MySQL.Web
和NuGet.
而是从MySQL网站下载.Net连接器。在这篇文章发表时,它是版本6.6.5 for MySQL.Data,MySql.Data.Entity和MySql.Web。如果您已经从NuGet
获得了这些文件,请务必从软件包管理器中取消安装。
手动将.net 4的MySQL asm refs添加到MySQL安装其.net连接器的项目中(我的C:\Program Files (x86)\MySQL\MySQL Connector Net 6.6.5\Assemblies\v4.0
)。请务必检查所有三个asms的Copy Local
。
在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>