2015-10-05 31 views
6

Sto cercando di ottenere una semplice pagina Web attiva e funzionante, che utilizza TreeView e SiteMapDataSource. TreeView consente di elencare i collegamenti sull'applicazione Web. La mia fonte di dati per la navigazione del sito è un file XML (Web.sitemap).ASP.NET non trova l'host MySQL anche se non sto utilizzando MySQL

Quando si esegue questa applicazione nel browser Web, viene visualizzato l'errore: "Impossibile connettersi a nessuno degli host MySQL specificati."

Si dice che il mio errore è on line 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> 

Fonte File: C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Config \ machine.config Linea: 285

Non sto usando MySQL o qualsiasi RDBMS per la mia sitemap, quindi non sono sicuro del motivo per cui sto ricevendo questo errore. Ho installato MySQL sul mio sistema, così come i plugin per Visual Studio 2015, quindi questo potrebbe essere il problema?

Grazie.

+0

Ho applicato la soluzione Mcanic, ho rimosso oracle MySQL .Net Connector tramite il Pannello di controllo. Il problema è stato risolto Ha funzionato. – mike

risposta

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

questa è la definizione di un'origine dati mySQL, con un nome connectionString LocalMySqlServer. L'eccezione verrà generata perché l'app non può connettersi al server definito in tale stringa di connessione.

+0

Questa è la parte strana. Che una fonte di dati MySQL è definita, anche se non ho intenzione di fare uso di una fonte di dati MySQL.Non ho definito un'origine dati MySQL, ho specificato che sto utilizzando un file Sitemap che ho creato, sull'app. – koeks525

2

Ho seguito il percorso del file di origine: C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Config \ machine.config e ho fatto scorrere fino alla riga 285. Ho eliminato i dati MySQL su questa riga di codice. corse di nuovo la mia domanda, e funziona benissimo:

enter image description here

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> 

primo go al pannello di controllo rimuovere il connettore MYSQL Si può andare>C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config

Rimuovere i seguenti e prova questo,

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

Ho avuto lo stesso problema in un sito BlogEngine dopo aver installato un altro sito con un'applicazione WordPress. L'installazione di WordPress includeva l'installazione di MySql e una voce nel file .NET Machine.config. Questo è in un Windows Server 2012 R2. È possibile rimuovere la voce dalla configurazione della macchina, ma ciò potrebbe causare problemi altrove. Ho deciso di aggiungere una chiave di rimozione nel file WebConfig di BlogEngine.

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

Questo ha risolto il problema.

+1

Questo mi ha aiutato molto. Grazie! –

+1

Questo è meglio di cambiare il file "machine.config", perché funziona per tutti i membri del team. –

+1

Grazie, questo funziona per me! – Greg

1

In qualche modo, "MySQL .Net Connector" è stato installato sul nostro server. L'ho rimosso tramite Pannello di controllo/Programmi e funzionalità e il problema è stato risolto.

1

Interno <system.web> aggiungere; Come questo come sotto;

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