IIS asp.net 建置網站發生 Unable to connect to any of the specified MySQL hosts 問題 (未使用MySQL)


專案未使用MySQL IIS建置出現 Unable to connect to any of the specified MySQL hosts

作者:Matol

日期:2019-01-30

先列出發生錯誤的詳細訊息

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

原始程式檔: C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\machine.config  

從Git抓取公司專案下來運行,卻出現 Unable to connect to any of the specified MySQL hosts 錯誤

查詢網路上錯誤資訊指向連接字串錯誤問題

但專案內並沒有使用MySQL,怎麼會出現MySQL的錯誤?

再看看錯誤訊息,錯誤原始檔案為我本機內的machine.config檔案,其他同仁編譯成功無此問題,猜測為MySQL套件BUG

由此方向進行查詢,得出幾個解決方式

將MySQL更新

失敗,我從原先發生錯誤6.9版更新到8版,但運行仍發生錯誤。

machine.config 註解掉發生錯誤的 sitemap 程式碼

<!--
<siteMap> 
	<providers> 
		<add name="MySqlSiteMapProvider" type="MySql.Web.SiteMap.MySqlSiteMapProvider, MySql.Web, Version=6.9.0.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" connectionStringName="LocalMySqlServer" applicationName="/" /> 
	</providers> 
</siteMap> 
<webParts> 
	<personalization> 
		<providers> 
			<add name="MySQLPersonalizationProvider" type="MySql.Web.Personalization.MySqlPersonalizationProvider, MySql.Web, Version=6.9.0.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" connectionStringName="LocalMySqlServer" applicationName="/" />
		</providers> 
	</personalization> 
</webParts>
-->

成功,但不確定會不會有其他影響 (原先安裝MySQL產生在machine.config的字段)

專案 config 加入 sitemap removename

<siteMap> 
    <providers> 
        <removename="MySqlSiteMapProvider"/> 
    </providers> 
</siteMap>

成功, 在config排除掉錯誤的對應, 較推薦此做法, 不影響到其他專案的運行。