Dot-Net
在應用程序配置中找不到連接名稱“LocalSqlServer”或連接字元串為空
所以昨天我在我的開發機器上安裝了 PHP 和 MySQL。從那時起,我在嘗試執行我的一個 .NET 項目時收到以下錯誤:
在應用程序配置中找不到連接名稱“LocalSqlServer”或連接字元串為空。
它引用了 Machine.Config 的這一行:
<add name="AspNetSqlRoleProvider" connectionStringName="LocalSqlServer" applicationName="/" type="System.Web.Security.SqlRoleProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />我在網上搜尋過,高低都可以確認我的machine.config有必要的連接字元串:
<connectionStrings> <add name="LocalSqlServer" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient" /> <add name="LocalMySqlServer" connectionString="" />有趣的是,我在我的生產伺服器(伺服器 2008)上執行了完全相同的安裝 PHP 和 MySQL 的操作,並且那裡沒有問題。我的開發機器是 Windows 7。
因此,我的整個開發機器都壞了。如何修復 machine.config 或修復它並解決此問題?有誰之前經歷過這個嗎?
小塊
也許某處有一個 web.config 包含:
<connectionStrings> <clear/> ... </connectionStrings>您可能還需要仔細檢查您是否正在查看正確的 machine.config。每個框架版本都有單獨的 machine.config,對於 32 位和 64 位框架也有單獨的。
<clear />由於各種原因,我需要保留在連接字元串的頂部,雖然添加一個名為的虛擬連接字元串的解決方案LocalSqlServer有效,但我發現保留它很麻煩,原因是“我不知道我們為什麼需要它,但沒有它,應用程序將無法執行”。我的解決方案是刪除
roleManager下面的行,因為它是舊程式碼遺留下來的,不再需要了。<system.web> <roleManager enabled="true" defaultProvider="AspNetWindowsTokenRoleProvider" /> </system.web>