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 AM 171 回上頁

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

<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

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


  1. 將MySQL更新
    • Fails - 失敗,我從原先發生錯誤6.9版更新到8版,但運行仍發生錯誤。
  2. 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>
    -->
    • Success - 成功,但不確定會不會有其他影響 (原先安裝MySQL產生在machine.config的字段)
  3. 專案 config 加入 sitemap removename
    <siteMap>
        <providers>
            <removename="MySqlSiteMapProvider"/>
        </providers>
    </siteMap>
    • Success - 成功, 在config排除掉錯誤的對應, 較推薦此做法, 不影響到其他專案的運行。