最近在研究以DotText為原型的中文Blog系統CnBlogsDotText。之前用VS.NET打開CnBlogsDotText的項目文件CnBlogsDotText.sln(或DottextWeb.csproj),總是提示說“Visual Studio .NET 無法創建或打開應用程序。問題很可能是因為本地 Web 服務器上沒有安裝所需的組件。請運行Visual Studio .NET安裝程序並添加Web開發組件”。圖片如下:
用google搜索,找到mill的個人Blog上有一篇文章給出了比較正規的解決辦法,地址是:http://www.cnblogs.com/mill2002/archive/2004/09/26/46814.html。為了方便讀者,在這裡給出全文:
為 Web 開發重新配置計算機
注意 以下所有步驟都是在 Web 服務器計算機上發生的。
1. 確認已安裝 IIS。方法之一是打開“控制面板”,然後選擇“Internet 服務管理器”。如果已安裝 IIS,您將能夠使用此實用工具停止和啟動它。
如果未安裝 IIS,則在 Windows“控制面板”上,選擇“添加或刪除程序”,然後選擇“添加/刪除 Windows 組件”。在列表中,選擇“Internet 信息服務 (IIS)”並繼續安裝。有關詳細信息,請參見 Windows 幫助。
安全說明 在安裝 IIS 時,強烈建議您確保 Web 服務器計算機的安全。有關詳細信息,請參見屬於安裝文檔的文件 WebServer.htm。該文件在安裝 CD 上的位置為 Disk1\Setup\WebServer.htm。安裝 Visual Studio 後,在硬盤的 %install%\CSetupMM\WebServer.htm 處也可找到該文件。
2. 安裝或重新安裝 .NET Framework。運行 Visual Studio.NET 安裝並選擇選項 1“Windows 組件更新”。
注意 如果您確定在 Web 服務器計算機上安裝了 .NET Framework 的當前版本,則可以跳過此步驟。
3. 打開 Windows 的“運行”窗口,然後鍵入以下內容以啟用 ASP.NET:
aspnet_regiis.exe /i
提示 您可以從命令的正確目錄中直接打開該命令窗口。從 Windows 的“開始”菜單,指向“程序”、“Visual Studio .NET 2003”、“Visual Studio .NET 工具”,然後選擇“Visual Studio .NET 命令提示”。在窗口打開後,鍵入 aspnet_regiis /i。
4. 安裝 Visual Studio .NET 服務器組件。
a.再次運行 Visual Studio .NET 安裝,並選擇選項 2“Visual Studio .NET”。
提示 可以從“控制面板”運行該安裝,方法是:選擇“添加或刪除程序”,選擇“Microsoft Visual Studio .NET”(具體名稱會根據所安裝的版本和語言而稍有不同),然後單擊“更改/刪除”。
b.選擇“添加或刪除功能”。
c.打開“服務器組件”節點並選中“Web 開發”。
d.單擊“立即更新!”
5. 對 IIS 執行安全鎖定,但隨後啟用 ASP.NET。
如果您使用的是在 Windows 2000 或 Windows XP 上運行的 IIS 5.0,可以使用 IIS 鎖定工具(版本 2.1)。
在 Windows Server 2003 中,您可以在 IIS 管理器中設置應用程序的安全級別。有關使用 IIS 管理器和取消 ASP.NET 應用程序鎖定的詳細信息,請參見主題 Visual Studio .NET 檢測到 IIS 中的 ASP.NET 應用程序和服務已經鎖定。
按照上文的提示,重裝IIS和.NET Framework,結果依舊。後來又仔細對照了dudu在CNBlogsDotText的安裝說明中的步驟,在IIS服務管理器中N進N出,建虛擬目錄,刪映射,添加映射,仍然搞不定。最後抱著死馬當活馬醫的心態,用最苯的暴力手段,即用記事本(如果是二進制格式的文件,就UltraEdit軟件)強行打開CnBlogsDotText.sln文件,結果在頭3行看到如下的字符串:
Microsoft Visual Studio Solution File, Format Version 8.00
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DottextWeb", "http://localhost/DottextWeb/DottextWeb.csproj", "{D5711AB8-BE34-4D64-91A2-B68F310CA995}"
頓時眼睛一亮,之前的郁悶一掃而光。原來在調試時,我在本機IIS服務管理器為CNBlogsDotText項目建立的虛擬目錄的別名是“CNBlog”,而VS.NET在加載CnBlogsDotText.sln文件時找的是DottextWeb虛擬目錄,這樣當然找不到了,結果VS.NET報了個誤人千裡的出錯提示。原因找到後,手工修改上面的第二行,保存退出。再用VS.NET打開CnBlogsDotText.sln文件,結果一切順利,整個項目的文件都老老實實的列在了右邊的“解決方案資源管理器”中。
我在網上下過不少公布的Web項目代碼包,裡面大都沒有注釋如何用IDE編輯器調試。當然,作者在使用IDE編輯器調試自己寫的代碼時,IDE編輯器是肯定不會報錯的。但是編輯完保存後打包發布後,其它人在自己機器上調試時起了和作者不一樣的項目名稱時,往往就會出現各種莫名奇妙的出錯提示。所以,我們在拿到他人發布的程序代碼後,最好先用記事本打開其項目配置文件看看,當然,二進制格式的就用UltraEdit了。
最後,又去mill的個人Blog逛了逛,結果發現不久前他也發了篇相當簡短的英文日志,正好也是解決VS.NET的類似問題的,覺得我太羅嗦的可以去看看。地址是:http://www.cnblogs.com/mill2002/archive/2005/01/04/86300.html