配置错误 - 无法识别的属性 'name'/无法找到请求的 .Net Framework 数据提供程序。它可能没有安装
Configuration Error - Unrecognized attribute 'name' / Unable to find the requested .Net Framework Data Provider. It may not be installed
尝试在实时 Web 应用程序中访问我的数据库时出现错误:
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: Unrecognized attribute 'name'.
Source Error:
An application error occurred on the server. The current custom error
settings for this application prevent the details of the application
error from being viewed remotely (for security reasons). It could,
however, be viewed by browsers running on the local server machine.
Source File: C:\home\site\wwwroot\web.config Line: 115
我的第 115 行所在的网络配置:
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
<parameters>
<parameter value="mssqllocaldb" />
</parameters>
</defaultConnectionFactory>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6, Version=6.8.3.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"></provider>
</providers>
</entityFramework>
<system.data>
<DbProviderFactories>
<remove invariant="MySql.Data.MySqlClient" name="MySQL Data Provider" /> // Line: 115
<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.9.9.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.8.3.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" /></DbProviderFactories>
</system.data>
当我从该行中删除:name="MySQL Data Provider"
时,我又遇到了另一个错误并在原地打转。
此外,当我刷新页面并删除 name
部分时,我得到:
Unable to find the requested .Net Framework Data Provider. It may not
be installed.
非常感谢任何帮助。
我遇到了一个非常相似的问题,但没有任何效果。我通过将 .NET Framework 版本从 4.5 更改为 4.5 来修复它。2.Take 看看这个 article.
8 小时后,我设法解决了这个问题。出于某种原因,在 NuGet 包管理器中它说我安装的版本是 Version=6.9.9.0 所以我添加了:
<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.9.9.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
到我的 web.config 但它仍然没有用,我尝试了一切,重新安装等等,然后最终我进入了我的 bin 文件夹,实际版本仍然是 6.8.3.0 NuGet 显示 6.9.9.0 - 奇怪!
我从 bin 文件夹中删除了这些,然后重新安装了最新版本,一切正常!
我认为名称不能包含空格,而且你有两个同名的数据提供者,所以你的代码应该是这样的:
<add name="MySQLDataProvider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.9.9.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
<add name="MySQLDataProvider2" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.8.3.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" /></DbProviderFactories>
尝试在实时 Web 应用程序中访问我的数据库时出现错误:
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: Unrecognized attribute 'name'.
Source Error:
An application error occurred on the server. The current custom error settings for this application prevent the details of the application error from being viewed remotely (for security reasons). It could, however, be viewed by browsers running on the local server machine.
Source File: C:\home\site\wwwroot\web.config Line: 115
我的第 115 行所在的网络配置:
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
<parameters>
<parameter value="mssqllocaldb" />
</parameters>
</defaultConnectionFactory>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6, Version=6.8.3.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"></provider>
</providers>
</entityFramework>
<system.data>
<DbProviderFactories>
<remove invariant="MySql.Data.MySqlClient" name="MySQL Data Provider" /> // Line: 115
<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.9.9.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.8.3.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" /></DbProviderFactories>
</system.data>
当我从该行中删除:name="MySQL Data Provider"
时,我又遇到了另一个错误并在原地打转。
此外,当我刷新页面并删除 name
部分时,我得到:
Unable to find the requested .Net Framework Data Provider. It may not be installed.
非常感谢任何帮助。
我遇到了一个非常相似的问题,但没有任何效果。我通过将 .NET Framework 版本从 4.5 更改为 4.5 来修复它。2.Take 看看这个 article.
8 小时后,我设法解决了这个问题。出于某种原因,在 NuGet 包管理器中它说我安装的版本是 Version=6.9.9.0 所以我添加了:
<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.9.9.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
到我的 web.config 但它仍然没有用,我尝试了一切,重新安装等等,然后最终我进入了我的 bin 文件夹,实际版本仍然是 6.8.3.0 NuGet 显示 6.9.9.0 - 奇怪!
我从 bin 文件夹中删除了这些,然后重新安装了最新版本,一切正常!
我认为名称不能包含空格,而且你有两个同名的数据提供者,所以你的代码应该是这样的:
<add name="MySQLDataProvider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.9.9.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
<add name="MySQLDataProvider2" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.8.3.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" /></DbProviderFactories>