安装MySQL连接器.Net后出现ASP.Net MVC4配置错误

本文关键字:Net MVC4 ASP 配置 错误 MySQL 连接器 安装 | 更新日期: 2023-09-27 18:25:35

我正在创建一个MVC4 web应用程序项目。当我使用空项目并简单地在浏览器上运行它时,它工作得很好。但问题是当我试图创建一个互联网应用程序项目而不是Empty项目时。一旦我创建了互联网应用程序项目,当我尝试在浏览器上运行它时,它会显示以下配置错误。据我所知,这与MySQL连接器程序集引用有关。无论如何,以下是错误。

Server Error in '/' Application.
Configuration Error
Description: An error occurred during the processing of a configuration file required to service    this request. Please review the specific error details below and modify your configuration file appropriately. 
Parser Error Message: Could not load file or assembly 'MySql.Web.v20, Version=6.9.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d' or one of its dependencies. The system cannot find the file specified.
Source Error: 

Line 265:      <providers>
Line 266:        <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="LocalSqlServer" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="/" requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="7" minRequiredNonalphanumericCharacters="1" passwordAttemptWindow="10" passwordStrengthRegularExpression=""/>
Line 267:        <add name="MySQLMembershipProvider" type="MySql.Web.Security.MySQLMembershipProvider, MySql.Web.v20, Version=6.9.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" connectionStringName="LocalMySqlServer" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="/" requiresUniqueEmail="false" passwordFormat="Clear" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="7" minRequiredNonalphanumericCharacters="1" passwordAttemptWindow="10" passwordStrengthRegularExpression=""/>
Line 268:      </providers>
Line 269:    </membership>
Source File: C:'Windows'Microsoft.NET'Framework'v4.0.30319'Config'machine.config    Line: 267 
Assembly Load Trace: The following information can be helpful to determine why the assembly 'MySql.Web.v20, Version=6.9.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d' could not be loaded.

安装MySQL连接器.Net后出现ASP.Net MVC4配置错误

安装MySQL.NET Connector 6.9.4(可能还有其他版本)时会出现此严重错误,因为如果在安装过程中不取消选中"Web提供程序",它会写入您的machine.config中,从而导致此错误。在应用这些步骤之前,一定要阅读完整的答案,以便从你必须开始的地方开始。

其他建议的真正问题是,如果你不是在每个项目中都使用MySQL,那么仅仅添加对MySQL dll的引用来缓解每个项目中的问题是不可行的。您的每个使用ASP.NET的项目都需要它,因为安装程序在机器配置中添加了行!

正确解决问题:

  1. 启动安装程序并单击"更改"
  2. 然后完全删除"Web提供商"部分
  3. 这将从你的machine.config中删除声明(我发现在安装程序中这样做很可怕,但安装程序在没有任何通知的情况下创建它们)
  4. 在那之后,最好检查一下你的机器配置,你可以在这里找到。请确保它不会破坏32和64机器配置
  5. 清除计算机配置后,将MySql.Web程序集添加到项目中,并在项目Web.config中添加MySQLMembershipProvider声明-这是标准过程
  6. 享受MySQL连接器的干净安装

但如果你这样做,你可能会尝试在之后添加Ado NET实体数据模型,对吧?如果是这种情况,很可能您在向导中没有看到MySQL作为可用数据源的选项。这是因为从6.7版开始,当您安装MySQL连接器.NET时,它将不再自动注册为DDEX提供程序。

要更正此问题,您必须从这里下载专门为MySQL和.NET提供的单独安装程序,或者直接从这里下载Visual Studio集成插件。

确保在上述任一安装程序的安装向导中检查Visual Studio集成连接器

这个解决方案对我有效:

<siteMap>
      <providers>
        <remove name="MySqlSiteMapProvider"/>
      </providers>
    </siteMap>

我想他们忘了把MySql.Web文件放在de GAC(全局程序集缓存)中

-打开MySQL安装程序
-单击右侧的删除选项卡
-检查所有与.Net相关的内容(如连接器)
-单击删除按钮
-关闭并重新打开visual studio
-支持Ognyan Dimitrov的回答

还有另一个解决方案:我手动打开machine.config并注释掉了<Sitemap>部分(它几乎在文件的底部)。保存为管理员和中提琴。它有效。

使用站点地图的解决方案是完整的,无需触摸它们,我的解决方案在需要使用MySQL连接器的地方也能正常工作。

最后我自己解决了它,这是一个小的解决方案。只需添加对Web.Mysql dll文件的引用,现在它就可以正常工作了。

我知道不久前有人问过这个问题,但对我有效的是将MySql.DataMySql.Web引用添加到我的项目中。

只要安装最新的MySql.Net连接器并选择"完成"安装,它就会解决您的问题。