VS2008(Microsoft Visual Studio 2008)是一個較新版本,新版每每都比舊版本完善,並且會提供更多的特性與實用功能,但不必定是最穩定的版本。不穩定但不會影響喜歡嘗新一族,相信不少人都是爲了看看VS2008的新臉孔而裝了VS2008。固然相信也有不少人會去使用VS2008的一些新特性,好比在.NET2.0剛出來的時候,不少人以爲新提供的「泛型」頗有用,因而開始使用新的集成IDE。程序員
可是要換新的IDE並非想換就換的,好比公司要求用什麼版本,咱們我的是不能用新的版原本進行開發的,由於你的項目還要與其它團隊隊友合做。另外你的程序發佈環境也是一個制約因素,比於說拿.NET開發網站,客戶說他本身沒有服務器,並且如今衆多虛擬主機都尚未提供新版本.NET環境支持狀況下,咱們仍是不要拿新版本應用於實際開發中。最多出於我的好奇,在本身機子上裝上玩玩就好了。sql
做爲一個小小的程序員,我有一個學習提升的習慣就是常常download些源碼讀讀,就拿.NET方面來講,有時候下載些整站源碼,發現打不開,這每每是由於下載的源碼是用較高版本的IDE開發的,這樣雖然能夠用記本事或一些輕量級的具備代碼着色功能的編輯器查看,但始終感受不夠方便,小項目逐個文件打開閱讀還算過的去,可是遇到大項目,這樣閱讀效率低,我喜歡VS中的「轉到定義」功能,這樣能夠輕鬆地查看當前調用方法或類的具體定義代碼片斷。apache
也許你會回答我你下載哪一個版本開發的就用哪一個版本IDE打開就好了,可是對於VS,這傢伙太大了,我不可能僅僅爲了方便讀一下代碼要從新裝個新版本,而不是用公司現有版本的VS來打開它,我認爲這代價很高。因而我想要找到一種較爲折中的辦法,這就是能不能用VS2005打開VS2008建的解決方案。服務器
通過查閱相關資料後發現有牛人試驗成功。但有一點仍是要注意的,若是你下載的代碼是用VS2008開發的,程序自己一點沒有用VS2008,或用.NET3.5以上特性,咱們仍是可能完美編譯並運行它的,不然咱們最可能是在VS2005中打開看看代碼,運行則會報錯,除非你改變VS2005的.NET版本(不知道能不能改變)。編輯器
嘗試用記事本去打開VS解決方案(sln格式)及項目文件(csproj格式),發現都能正常打開並看到相關內容,發現sln文件相似於Apache的配置文件httpd.conf,而csproj是標準的XML文檔,這意味着能夠拿它與其它版本生成的文件進行比較並做相應修改,下面再推薦一個實用對比小軟件。ide
<1>用記事本打開解決方案文件「解決方案名.sln」,而後修改最上面兩行爲以下代碼:sqlserver
Microsoft Visual Studio Solution File, Format Version 9.00 # Visual Studio 2005學習
<2>用記事本打開每一個項目文件「項目名.csproj」,在<PropertyGroup>節點下移除以下節點: 網站
<TargetFrameworkVersion>v2.0</TargetFrameworkVersion>ui
<3>並修改ProductVersion和Import兩個節點爲以下:
<ProductVersion>8.0.50727</ProductVersion>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
注意:在我修改Discuz!NT源碼部分項目文件XML的時候,發現上面說的一些節點是沒有的,經對比分析發現,這些項目應該是用舊版本VS開發的,在轉到新版本VS後,這些項目再沒有被修改過,因此能夠不理。而在我試圖運行整個項目的時候,又發現運行不起來,根據錯誤報告發現Discuz!NT項目確實用了.NET3.5的一些新特性,好比用了屬性的缺省寫法:public int TimeOut { set; get; }