即使我没有使用MySQL,ASP.NET也无法找到MySQL主机

时间:2015-10-05 08:21:22

标签: c# asp.net treeview

我正在尝试启动并运行一个简单的网页,它使用TreeView以及SiteMapDataSource。 TreeView用于列出Web应用程序上的链接。我的网站导航数据源是XML文件(Web.sitemap)。

当我在网络浏览器中运行此应用程序时,出现错误:"无法连接到任何指定的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>

源文件:C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Config \ machine.config行:285

我没有在我的站点地图中使用MySQL或任何RDBMS,因此我不确定为什么会收到此错误。我在我的系统上安装了MySQL,以及Visual Studio 2015的插件,所以这可能是问题吗?

感谢。

7 个答案:

答案 0 :(得分:26)

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

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

这解决了这个问题。

答案 1 :(得分:4)

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

enter image description here

答案 2 :(得分:3)

不知何故,&#34; MySQL .Net Connector&#34;安装在我们的服务器上。我通过控制面板/程序和功能将其删除,问题解决了。

答案 3 :(得分:2)

<system.web>内添加此内容; 如下所示;

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

答案 4 :(得分:0)

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

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

答案 5 :(得分:0)

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

首先转到控制面板,删除MYSQL CONNECTOR 你可以去&gt; C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config

请删除以下内容并尝试此

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

答案 6 :(得分:0)

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