2017-02-10 103 views
4

当试图访问我的数据库的实时Web应用程序,我得到的错误:配置错误 - 无法识别的属性“名称”/无法找到请求的.Net Framework数据提供程序。它可能没有安装

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

我的web配置,其中线路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.

任何帮助是极大的赞赏。

+0

您可以登录到数据库,你的'roomauditsystem'和'omitted' manyally? –

+0

为什么你有'add name = ...'两个条目? –

+0

@GertArnold我不知道,我以为自己知道自己在做什么,但是我在很多圈子里走来走去,我迷惑了自己。在安装不同的软件包之后,我想我结束了一个较老的版本,所以我相信我可以删除第一个'add name = ...'。 – James

回答

1

8小时后,我设法解决了这个问题。出于某种原因,在NuGet包管理器中它说我已经安装的版本是版本= 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文件夹中删除了这些文件,然后重新安装了最新的版本,它一切正常!

2

我有一个非常类似的问题,没有任何工作对我来说。我通过将.NET框架版本更改为4.5而不是4.5.2来修复它。看看这个article.

+0

感谢您的输入,但我仍然收到相同的错误! – James

+0

看看你的'异常堆栈跟踪'后,我想你的应用程序无法访问服务器上的数据库。请检查两次你的连接字符串到处 –

0

我觉得这个名字不能包含空格,你也有两个名称相同的数据供应商,以便您的代码应该是这样的:

<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> 
相关问题