我正在创建一个MVC4 Web应用程序项目。当我使用空项目并只是在浏览器上运行它时工作正常。但问题是当我尝试创建一个Internet应用程序项目而不是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.
答案 0 :(得分:42)
当您安装MySQL .NET Connector 6.9.4(可能还有其他版本)时会发生这个令人讨厌的错误,因为如果您在安装过程中没有取消选中“Web Providers”,它会在您的machine.config中写入,这会导致您出现此错误。在应用任何这些步骤之前,请务必阅读整个答案,以便从必须开始的地方开始。
其他建议的真正问题在于,如果你没有在每个项目中使用MySQL来添加对MySQL dll的引用来缓解每个项目中的问题都不是一个选择。使用ASP.NET的每个项目都需要它,因为安装程序在机器配置中添加了行!
正确解决问题:
但如果你这样做,你可能会尝试添加Ado NET实体数据模型,对吧?如果是这种情况,很可能您没有在向导中看到MySQL作为可用数据源的选项。这是因为从版本6.7开始安装MySQL Connector .NET时,它将不再自动register as DDEX provider。
要解决此问题,您必须从here下载一个专门为MySQL和.NET提供的单独安装程序,或直接从here.下载Visual Studio集成插件
确定在上述任一安装程序的安装向导中检查 Visual Studio集成和连接器。
答案 1 :(得分:5)
这个解决方案对我有用:
<siteMap>
<providers>
<remove name="MySqlSiteMapProvider"/>
</providers>
</siteMap>
我认为他们忘记将文件MySql.Web放入de GAC(全局程序集缓存)
答案 2 :(得分:4)
- 打开MySQL安装程序
- 单击右侧的删除选项卡
- 检查与.Net相关的所有事情(如连接器)
- 点击删除按钮
- 关闭并重新打开视觉工作室
-Upvote Ognyan Dimitrov的回答
答案 3 :(得分:4)
还有另一个解决方案:我手动打开了machine.config并注释掉了<Sitemap>
部分(它几乎位于文件的底部)。将其保存为管理员和violá。有用。
使用站点地图的解决方案完好无损,无需触摸它们,我需要使用MySQL连接器的解决方案也按预期工作。
答案 4 :(得分:1)
最后我自己解决了它,这是一个小解决方案。只需添加对Web.Mysql
dll文件的引用,现在它可以正常工作。
答案 5 :(得分:0)
我知道这是前一段时间的问题,但对我有用的是为我的项目添加MySql.Data
和MySql.Web
引用。
答案 6 :(得分:-1)
只需安装最新的MySql .Net Connector并选择&#39; Complete&#39;安装,它将解决您的问题。