昨天,我嘗試將博客的程序從Visual Studio 2003開發(fā)環(huán)境遷移到Visual Studio 2005開發(fā)環(huán)境。之前,我也進(jìn)行過這樣的嘗試。我用Visual Studio 2005升級向?qū)нM(jìn)行升級,升級之后,在Visual Studio 2005中進(jìn)行編譯,實在有太多錯誤,我處理了多個處理之后,實現(xiàn)在沒耐心去處理這么多錯誤,令人惱火的是Visual Studio 2005會將Web文件下的所有文件都包含在項目中進(jìn)行編譯,而Visual Studio 2003只編譯包含在項目中的文件,這樣如果有些文件不想?yún)⑴c編譯,直接從中項目排除就行了。比如:有些代碼未寫好的文件,臨時備份的文件等等。而Visual Studio 2005卻很強權(quán),不行,在他管理的Web項目下的所有文件必須接受他的管理,不能影響編譯,如果不想被他管理,只能把文件刪除或者從Web項目目錄下移走,真是個糟糕的設(shè)計,有些文件或者文件夾根本不需要他管理,比如:圖片文件、臨時文件、第三個控件所需的文件夾,這樣做還會影響加載Web項目的速度,加載了很多不必要的文件!由于這個原因,VS2003Web項目升級至VS2005之后會帶來更多附加的錯誤。這就是著名的VS 2005 Web Site project model! 卻讓我當(dāng)時放棄升級的念頭,難道要在VS 2005 Web Site project model下重新開發(fā),難道微軟希望大家這樣做? 目前已經(jīng)推出 VS 2005 Web Application Project Preview,那什么是 VS 2005 Web Application Project?簡單地說就是讓VS 2005按V2003的方式處理Web項目,比如:可以在項目中包含、排除文件,將Web項目編譯成一個assembly。新技術(shù)讓人激動人心,但舊技術(shù)中很多有價值的東西也不能輕視。有時從頭再來會帶來更大的收獲、更多的提高,但大多數(shù)情況下從頭再來意味著痛若的選擇、更高的成本,這點對于軟件行業(yè)尤其重要。微軟操作系統(tǒng)正由于非常注重向后兼容性而取得了如此大的成功。 VS 2005 Web Application Project正式推出后(可能在VS 2005 SP1中推出),當(dāng)你用VS 2005打開VS2003的Web項目,升級向?qū)崾灸闶鞘褂肰S 2005 Web Site Project model還是 VS 2005 Web Application Project Model進(jìn)行升級,如果選擇VS 2005 Web Application Project Model, 升級向?qū)詣訋湍闵?,升級后你可以像在VS 2003中一樣處理Web項目,這樣的升級意味著升級后更少的代碼修改。 目前我們可以通過VS 2005 Web Application Project Preview手動將VS 2003 Web項目升級到VS 2005 Web Application Project。Scott Guthrie專門寫了一篇文章告訴你如何進(jìn)行這樣的升級:Upgrading VS 2003 Web Projects to be VS 2005 Web Application Projects。我就是按照這篇文章成功完成了升級,并且升級后編譯成功。 升級過程簡要描述: 1、下載并安裝VS 2005 Web Application Project Preview:下載地址:http://msdn.microsoft.com/asp.net/reference/infrastructure/wap/default.aspx 2、 備份要升級的項目。 3、在VS 2003下編譯要升級的項目,確認(rèn)無編譯錯誤。 4、修改.sln及Web項目文件夾中的.csproj,將Web項目改為類庫項目: 用文本編輯器打開.sln文件,將Web項目的URL地址改為實際的路徑,比如:http://localhost/DottextWeb/DottextWeb.csproj改為:DottextWeb\DottextWeb.csproj。 用文本編輯器打開Web項目文件夾中的.csproj,將ProjectType = "Web"改為ProjectType = "Local"。 5、重新用VS 2003打開并編譯該項目,確認(rèn)能成功編譯。 6、用VS 2005打開要升級的項目,并通過升級向?qū)нM(jìn)行升級。我在升級前刪除的所有的資源文件(*.resx)。 7、將升級后的Web項目轉(zhuǎn)變?yōu)閂isual Studio 2005 Web Application Projects: 打開.csproj文件,將ProjectType = "Local"替換為:<ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids> 8、將Web項目的服務(wù)器設(shè)置為IIS,默認(rèn)用的是內(nèi)建的VS Web Server。 |