【问题标题】:Setting up MySQL with ASP.NET MVC 3使用 ASP.NET MVC 3 设置 MySQL
【发布时间】:2011-07-08 17:37:27
【问题描述】:

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

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

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

解析器错误消息:无法加载文件或程序集“MySql.Web,版本=6.2.2.0,文化=中性,PublicKeyToken=c5687fc88969c44d”或其依赖项之一。系统找不到指定的文件。

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

这是不是因为公钥错误?

谢谢

【问题讨论】:

  • 系统找不到指定的文件。您想询问的错误信息是否有不清楚的地方?
  • 但它确实存在。我将它作为参考添加到项目中,它在 Web 配置中的唯一位置来自您之前提供的堆栈溢出答案。
  • @ing0:对此有何反馈?您是否使用了以下任何建议以及对您有用的建议?

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


【解决方案1】:

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

【讨论】:

【解决方案2】:

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

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

【讨论】:

    【解决方案3】:

    试试这个

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

    如果您需要 sqlite 会员提供者,请看这里:

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

    【讨论】:

      【解决方案4】:

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

      一旦生效,您可能还需要添加一个默认的会员资格提供商。您只需将&lt;membership&gt; 更改为&lt;membership defaultProvider="MySqlMembershipProvider"&gt;

      我还按照here 的说明向指定的数据库中添加了一组与成员资格、配置文件和角色相关的表。不确定是否需要这样做,但如果您仍然遇到问题,可以尝试一下。

      希望这会有所帮助!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-12-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多