起因: 如果Visual Studio.NET安裝程序發現一些TLB文件和DLL文件已經存在的話,就不會再次在計算機中注冊這些文件,因此 就有可能發生"VC軟件包不可用或未注冊"的提示. 在多數情況下,舊版本的的Visual Studio .NET容易引起這個錯誤,尤其是舊版本安裝在另一個操作系統下.
解決方案: 要解決這個問題,需要運行Visual Studio .NET修復程序.由于修復程序會強制注冊一些安裝程序中沒有被注冊的項目,因此能更有效地解決這個問題.
按照下列步驟運行修復程序: 在開始中,指向"設置",點擊控制面板,然后點擊"添加/刪除程序"; 在列出的已安裝程序列表中,點擊Visual Studio .NET,然后點擊"更改/刪除"; 點擊Visual Studio .NET安裝對話框1 2 3項目中的第二項; 點擊"修復/重裝",然后按照屏幕提示操作.
更多相關信息: 重現這個問題的做法 要重現這個問題,最好有裝在獨立分區上的兩個操作系統.兩個Windows XP Professional會達到這個目的. 在一個操作系統下安裝Visual Studio .NET; 在另一個操作系統下Visual Studio .NET,安裝過程中改變安裝的缺省路徑,以匹配第一次安裝的路徑. 兩次安裝結果都會宣告成功. 然后啟動第二次安裝的Visual Studio .NET(你就會發現這個問題的重現).
這種安裝形式是永遠不推薦的,即使兩次安裝選項完全相同,而且你也會以此節省磁盤空間,但這種方法出現潛在問題的機會是很大的.如果一個Visual Studio .NET改變了文件和注冊選項,這些改變不會記錄到另一個Visual Studio .NET中,以致造成出現不可預料結果的潛在危險.
Q:不能啟動調試,災難性錯誤(在 Visual Studio .NET 中調試 ASP.NET 應用程序時出現的常見錯誤) Ahttp://support.microsoft.com/?id=306172 ---------------------------------------------------------------------------------------------------------------------------------
Q:Unable to start debugging on the web server A:如果遇到這些錯誤,則需要考慮以下幾個問題:
要檢查的內容 遠程服務器上的 Web 應用程序 存儲在 Visual SourceSafe 中并使用 FrontPage 服務器擴展的 Web 應用程序 手動附加 要檢查的內容 如果得到“無法在 Web 服務器上啟動調試”錯誤,請嘗試檢查下列內容:
您是否正在運行一個允許 Visual Studio 調試器自動附加到 Web 應用程序的 Windows 版本?如果不是,則需要啟動應用程序而不調試,然后手動附加到它。(有關更多信息,請參閱手動附加和 ASP.NET 調試:系統要求。) 您的 Web 應用程序是否具有 Web.config 文件? Web.config 文件是否通過將 debug 屬性設置為 true 而啟用了調試模式?有關更多信息,請參閱 ASP.NET 應用程序中的調試模式。 Web.config 是否包含任何語法錯誤?您可以通過運行 Web 應用程序而不調試來檢查是否存在語法錯誤。(從“調試”菜單中,選擇“開始執行(不調試)”。)如果在 Web.config 中存在語法錯誤,則會顯示詳細信息。 您是否是“調試器用戶”(Debugger Users) 組的成員?如果您作為管理員登錄,則管理員是否在該組中? 您是否是通過指定特定的 IP 地址(如 100.20.300.400)而創建了項目?調試 Web 服務器要求 NTLM 身份驗證。默認情況下,IP 地址被假定為 Internet 的一部分,而在 Internet 上不進行 NTLM 身份驗證。若要更正這一問題: 創建項目時,指定 Intranet 上計算機的名稱。 -或-
將 IP 地址 http://100.20.300.400) 添加到您的計算機上的受信任站點列表中。(從 Internet Explorer 的“工具”菜單中,選擇“Internet 選項”,然后選擇“安全”選項卡)。 運行 IIS 服務器的計算機是否已安裝了 Visual Studio .NET 遠程組件? IIS 是否是在安裝了 Visual Studio .NET 之后才被安裝在本地計算機(即運行 Visual Studio .NET 的計算機)上的?IIS 應在安裝 Visual Studio .NET 之前安裝。如果它是后來安裝的,則可能需要修復 .NET 框架。 修復 .NET 框架
<CD Drive>:/dotNetFramework/ dotnetfx.exe /t:c:/temp /c:"msiexec.exe /fvecms c:/temp/netfx.msi" 是否正確地指定了項目起始頁的 URL?擴展名和項目目錄是否正確? 是否正確地設置了 IIS 安全設置?若要驗證這一點,請檢查“默認 Web 站點”設置。 檢查“默認 Web 站點”的 IIS 安全設置
從“開始”菜單中,依次選擇“程序”和“管理工具”,然后單擊“Internet 服務管理器”(Windows 2000) 或“Internet 信息服務”(Windows XP)。 在“Internet 服務管理器”或“Internet 信息服務”對話框中,單擊您的計算機的樹控件 (Tree Control)。在“Web 站點”文件夾中,找到“默認 Web 站點”。 右擊“默認 Web 站點”并選擇“屬性”。 在“默認 Web 站點屬性”窗口中,選擇“目錄安全性”選項卡并單擊“編輯”。 在“身份驗證方法”對話框中,選擇“匿名訪問”和“集成的 Windows 身份驗證”(如果尚未選擇的話)。 單擊“確定”以關閉“Internet 服務管理器”或“Internet 信息服務”對話框。 單擊“確定”。 對于 ATL Server 應用程序,請驗證 DEBUG 謂詞是否與您的 ISAPI 擴展相關聯。 對于 ASP.NET 應用程序,請確保應用程序的虛擬文件夾具有在“Internet 服務管理器”或“Internet 信息服務”中設置的“應用程序名稱”。 為 Web 應用程序指定虛擬文件夾
從“開始”菜單中,依次選擇“程序”和“管理工具”,然后單擊“Internet 服務管理器”(Windows 2000) 或“Internet 信息服務”(Windows XP)。 在“Internet 服務管理器”或“Internet 信息服務”對話框中,單擊您的計算機的樹控件 (Tree Control)。在“Web 站點”文件夾中,找到此 Web 應用程序。 右擊“默認 Web 站點”并選擇“屬性”。 在“默認 Web 站點屬性”窗口中,選擇“目錄”選項卡。 在“應用程序設置”下,單擊“創建”。 應用程序名稱即出現在此框中。
單擊“確定”關閉“屬性”對話框。 單擊“確定”以關閉“Internet 服務管理器”或“Internet 信息服務”對話框。 遠程服務器上的 Web 應用程序 如果 Web 應用程序位于遠程服務器上,請檢查以下問題:
是否運行了正確的安裝程序以便在服務器上安裝 ASP.NET/ATL Server 和遠程調試器組件? 您是否是服務器上的“調試器用戶”(Debugger Users) 組的成員?您是否具有調試在系統帳戶下運行的進程所必需的訪問特權? 根據安全設置的不同,ASP.NET 應用程序可能在 inetinfo.exe(IIS 進程)下運行,也可能在 ASP 輔助進程 aspnet_wp.exe 下運行。默認情況下,aspnet_wp.exe 進程作為 SYSTEM 運行。若要調試在 aspnet_wp.exe 下運行的應用程序,您需要具有管理員特權或為 aspnet_wp.exe 編輯 machine.config 文件,以便 aspnet_wp.exe 在用戶帳戶下運行。若要調試在 inetinfo.exe 下運行的應用程序,您必須是運行 inetinfo.exe 的計算機上的管理員。
根據安全設置的不同,ATL Server 應用程序可能在 inetinfo.exe 下運行,也可能在 ATL 輔助進程 dllhost.exe 下運行。若要調試在 inetinfo.exe 下運行的應用程序,您必須是運行 inetinfo.exe 的計算機上的管理員,或者使用公共語言運行庫應用程序設置將 dllhost 配置為作為特定用戶運行。 您是否正在使用“終端服務器”嘗試調試遠程計算機上的 Web 應用程序?在 Windows XP 下,支持使用“終端服務器”對本機 Web 應用程序進行遠程調試。而在 Windows 2000 或 Windows NT 下則不支持。 存儲在 Visual SourceSafe 中并使用 FrontPage 服務器擴展的 Web 應用程序 如果 Web 應用程序存儲在 Visual SourceSafe 中并且使用 FrontPage 服務器擴展作為它的 Web 訪問模式,請檢查以下問題:
Visual SourceSafe 是否與 FrontPage 服務器/Web 服務器位于同一臺計算機上?如果是,則可以使用“集成身份驗證”進行調試。(若要檢查“集成身份驗證”設置,請參閱此過程以檢查前面的“默認 Web 站點”的 IIS 安全設置。) 解決這一問題的另一種方法是將 Web 訪問模式從 FrontPage 更改為文件共享 (File Share)。 將 Web 訪問模式更改為文件共享 (File Share)
啟動應用程序而不調試。(從“調試”菜單中,選擇“開始執行(不調試)”。) 附加到適當的 IIS 進程或輔助進程。默認情況下,對于 ATL Server 應用程序為 inetinfo.exe;對于 ASP.NET 應用程序為 aspnet_wp.exe。使用下面的過程來確定 ASP.NET 或 ATL Server 應用程序在哪個進程下運行。 檢查 ASP.NET 應用程序在哪個進程下運行