The Will Will Web

記載著 Will 在網路世界的學習心得與技術分享

Visual Studio 2010 Express 缺少的功能與開啟方案檔的差異

前陣子有個玩 PHP 的朋友提及:「為什麼 Visual Studio 2010 這麼難用」,聊到後來才發現原來他安裝的是 Visual Studio 2010 Express 版,自然少了許多功能,然而到底少了哪些功能我也說不清。上個週末開啟一個 Windows Phone 7 範例程式,發現竟然開啟的是 Visual Studio 2010 Express 版,我明明記得我安裝的是 Visual Studio 2010 Ultimate 版啊,最後索性就「體驗」一下所謂的 Express 版到底缺了哪些東西。

實際親身體驗一下才發現 Express 版真的少了許多非常重要的好用功能,缺了這些功能對於日常的開發工作著實麻煩許多,不過那些我們經常使用的功能對許多正在使用 Visual Studio 2010 Professional / Ultimate 的人也許也沒有用過,不同版本間細微的差異很多,但大方向沒幾點,主要有下:

1. 有限的專案範本與各專案類型的開發工具支援

Visual Studio 2010 Express 版大多內嵌於各式 Microsoft 開發工具 (SDK) 裡,例如 Visual Studio 2010 Express for Windows Phone 內嵌於 Windows Phone SDK 7.1。還有些是可以獨立存在安裝的,像是可以開發 ASP.NET / ASP.NET MVC 的 Visual Web Developer Express,或開發 Windows Form 應用程式的 Visual Basic Express, Visual C++ Express, Visual C# Express,或是開發資料庫相關的 SQL Server Express 也有 Visual Studio 2010 Express 的成分在內。

依據不同的用途,僅提供最基本的專案範本可用,所以有很多網路上查的到的專案類型或程式碼範例很有可能無法開啟,但是從頭開發專案應該沒什麼問題才是,就少了專案範本、項目範本,有時候還真的礙手礙腳,像是好用安裝專案 (Setup Project)、單元測試專案、WCF 服務、SQL Server 報表應用程式、工作流程應用程式、…等等。

除此之外,像是類別設計師 (Class Designer)、程式碼定義視窗 ( Code Definition Window ) 等都無法使用。

 

2. 缺少巨集功能

我們一般在開發專案時,偶爾會利用巨集功能處理一些重複性的編輯工作,但是在 Visual Studio 2010 Express 都不能使用了。

 

3. 缺少 Visual Studio 2010 擴充管理員 ( Add-Ins, Wizard, VSPackages, … )

開發人員缺了 Visual Studio 2010 擴充管理員 還真的是一大夢魘,少了 Visual Studio 2010 的擴充能力,等於有成千上百的擴充套件無法安裝,自然也就無法好好的體驗 Visual Studio 2010 的強大功能了。

關於一些常用的擴充套件,可以參考 Visual Studio 2010 開發技巧文章Visual Studio Gallery 都可以找到很多非常實用的套件與介紹。

 

4. 缺乏版本控管機制

Visual Studio 2010 Professional / Ultimate 內建了與 Team Foundation Server (TFS) 伺服器整合的相關功能,但是在 Visual Studio 2010 Express 裡是完全不支援的。如果想要跟 Subversion / Git 整合,原本也可以透過擴充套件的方式來擴充功能,不過礙於 Visual Studio 2010 Express 無法擴充功能而作罷。

 

5. 偵錯工具 ( Debugging Tools )

偵錯功能是開發過程中極其重要的功能,然而大部分常見的功能在 Visual Studio 2010 Express 裡還是有的,例如設定中斷點、單步執行、監看式視窗 (Watch Window)、本地變數視窗 (Local Window)、呼叫堆疊視窗 (Call Stack Window)、即時視窗 (Immediate Window)、輸出視窗 (Output Window) 等等。

但還有一些常見的功能在 Visual Studio 2010 Express 消失了,像是 附加至處理序 (Attach to process)、自動視窗 (Autos Window)、中斷點視窗 (Breakpoints Window)、呼叫瀏覽器 (Call Browser)、JIT 偵錯 (Just-In-Time Debugging)。

 

最後,我還研究出為什麼前幾天開啟 Windows Phone 7 範例程式時開啟的竟是 Visual Studio 2010 Express 版。首先,我的電腦是先安裝了 Visual Studio 2010 Ultimate,然後才安裝了 Windows Phone SDK 7.1 (內含 Visual Studio 2010 Express for Windows Phone)。

然而我在開啟專案之前,從檔案總管裡看到的圖示的確有點不一樣:

Visual Studio 2010 Express for Windows Phone 圖示

Visual Studio 2010 圖示

開啟 *.sln 查看其內容時,才發現原來只是一行註解不同而已,就導致開啟了不同版本的 Visual Studio 2010,如下圖示:

SNAGHTML143c4ef4

原來只是 sln 檔案註解的差異而導致開啟專案時開啟不同的 Visual Studio 2010 版本,這點在日後可要特別注意,以免少了許多好用的功能來開發程式。

 

結論

若說到 Visual Studio 2010 Express 版的定位,我覺得應該是定位在給正要學習 .NET 程式設計的初學者,即便 Express 版拿掉了許多功能,但對入門者來說還是不失為一個好用的開發工具與程式設計的學習工具,但只要學習到一定程度後,有機會一定要試著安裝專業版旗艦版來體驗一下這些缺少的功能,好好研究如何真正體現快速開發的威力。

 

相關連結