C# ASP.NET找不到MySQL主机,即使我';我没有使用MySQL

C# ASP.NET找不到MySQL主机,即使我';我没有使用MySQL,c#,asp.net,treeview,C#,Asp.net,Treeview,我正在尝试建立一个简单的网页并运行它,它使用TreeView和SiteMapDataSource。树状视图用于列出web应用程序上的链接。我的站点导航数据源是一个XML文件(Web.sitemap) 在web浏览器中运行此应用程序时,会出现错误:“无法连接到任何指定的MySQL主机。” 它说我的错误在第285行: Line 283: <siteMap> Line 284: <providers> Line 285: <add name=

我正在尝试建立一个简单的网页并运行它,它使用TreeView和SiteMapDataSource。树状视图用于列出web应用程序上的链接。我的站点导航数据源是一个XML文件(Web.sitemap)

在web浏览器中运行此应用程序时,会出现错误:“无法连接到任何指定的MySQL主机。”

它说我的错误在第285行:

Line 283:    <siteMap>
Line 284:      <providers>
Line 285:        <add name="MySqlSiteMapProvider" type="MySql.Web.SiteMap.MySqlSiteMapProvider, MySql.Web, Version=6.9.6.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" connectionStringName="LocalMySqlServer" applicationName="/" />
Line 286:      </providers>
Line 287:    </siteMap>
第283行:
第284行:
第285行:
第286行:
第287行:
源文件:C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\machine.Config行:285

我没有在我的站点地图上使用MySQL或任何RDBMS,所以我不知道为什么会出现这个错误。我确实在我的系统上安装了MySQL,以及Visual Studio 2015的插件,所以这可能是问题所在吗

谢谢。


<add name="MySqlSiteMapProvider" type="MySql.Web.SiteMap.MySqlSiteMapProvider, MySql.Web, Version=6.9.6.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" connectionStringName="LocalMySqlServer" applicationName="/" />

这是定义一个mySQL数据源,带有名为LocalMySqlServer的connectionString。将引发异常,因为您的应用程序无法连接到该连接字符串中定义的服务器

我按照源文件的位置:C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\machine.Config并滚动到第285行。我删除了这行代码上和周围的MySQL数据。 再次运行我的应用程序,它工作正常:


在安装了另一个带有WordPress应用程序的站点之后,我在一个BlogEngine站点上遇到了同样的问题。WordPress的安装包括MySql的安装,以及.NET Machine.config文件中的一个条目。这是在Windows Server 2012 R2中。您可以从计算机配置中删除该条目,但这可能会在其他地方导致问题。我选择在BlogEngine Web.Config文件中添加一个Remove键

注意:在配置文件中添加了位置

<system.web>
    <siteMap defaultProvider="PageSiteMap" enabled="true">
        <providers>   
            <remove name="MySqlSiteMapProvider" />
            ...
        </providers>
    </siteMap>
</system.web>

...
这解决了问题。

不知何故,我们的服务器上安装了“MySQL.Net连接器”。我通过控制面板/程序和功能删除了它,问题得到了解决。

内部
添加此项; 如下所示

<system.web>
   ...
    <siteMap>
    <providers>   
        <remove name="MySqlSiteMapProvider" />
    </providers>
  </siteMap>
<system.web>

...

这可能会帮助遇到此问题的其他人。我在我的机器上安装MySql是为了一个完全无关的项目,但它似乎影响了我正在开发的另一个网站。添加删除提供程序修复了我自己的问题

这是一个奇怪的部分。定义了MySQL数据源,尽管我不打算使用MySQL数据源。我没有定义MySQL数据源,我指定在应用程序上使用我创建的站点地图文件。这对我帮助很大。非常感谢。这比更改“machine.config”文件要好,因为它适用于团队中的每个人。将此添加到我应用的Mcanic解决方案中,我通过控制面板删除了oracle MySQL.Net连接器。问题解决了。它成功了。谢谢你在配置中的准确位置!
<system.web>
    <siteMap defaultProvider="PageSiteMap" enabled="true">
        <providers>   
            <remove name="MySqlSiteMapProvider" />
            ...
        </providers>
    </siteMap>
</system.web>
<system.web>
   ...
    <siteMap>
    <providers>   
        <remove name="MySqlSiteMapProvider" />
    </providers>
  </siteMap>
<system.web>