使用ASP.NET MVC 3设置MySQL

时间:2011-03-04 10:35:26

标签: .net mysql asp.net-mvc asp.net-mvc-3

我目前正在使用Visual Studio 2010并创建了一个“ASP.NET MVC 3 Web应用程序”。

由于Darin指出的原因,我已经将问题从SQLite更改为MySQL。

所以我设置了我的MySQL数据库并配置了web.config,如this answer所示,但是我得到了即时配置错误:

  

分析程序错误消息:无法加载文件或程序集“MySql.Web,Version = 6.2.2.0,Culture = neutral,PublicKeyToken = c5687fc88969c44d”或其依赖项之一。系统找不到指定的文件。

     

第78行:type =“MySql.Web.Security.MySQLRoleProvider,MySql.Web

这是因为公钥错了吗?

由于

4 个答案:

答案 0 :(得分:1)

您需要编写一个与SQLite一起使用的自定义成员资格提供程序。这是一个example with MySQL。另请注意,SQLite不适用于多线程环境,例如ASP.NET。

答案 1 :(得分:1)

文件存在,但版本不匹配。检查是否为MySql连接器指定了正确的版本。这解决了我的问题。

将版本= 6.2.2.0更改为您正在使用的版本。

答案 2 :(得分:0)

试试这个

<add name="ApplicationServices"
         connectionString="Data Source=|DataDirectory|sqlite.db;Version=3;"
         providerName="System.Data.SqLite" />

如果您需要sqlite会员提供商,请查看此处:

http://www.codeproject.com/KB/aspnet/SQLiteProviders.aspx

答案 3 :(得分:0)

您安装了哪个版本的MySQL连接器?我在版本号不匹配时看到了错误消息,当我纠正它们时它就消失了。您可以通过查看参考部分中项目的属性来检查版本。

一旦有效,您可能还需要添加默认会员提供商。您只需将<membership>更改为<membership defaultProvider="MySqlMembershipProvider">

我还遵循了here指令,这些指令将一堆表添加到与成员资格,配置文件和角色相关的指定数据库中。不确定这是否是必需的,但如果你仍然遇到问题,可以尝试一下。

希望这有帮助!