Visual Studio 2013 釋出正式版及使用感受

朱永光發表於2013-10-18

(注意:文末我新增了一個小節,用來更新最新的一些使用感受。)

昨天晚上,微軟在正式釋出Windows 8.1的同時,也同時釋出了Visual Studio 2013產品系列的正式版。

版本情況

Visual Studio 2013產品系列和2012類似,同樣包含了如下版本:

  • 收費版:
    • Microsoft Visual Studio Ultimate 2013:Visual Studio Ultimate 2013 是一個先進的開發解決方案,各種規模的團隊通過它均可設計和建立引人注目的應用程式,使使用者興致勃勃。
    • Microsoft Visual Studio Premium 2013:Visual Studio Premium 2013 是一個整合開發環境,其中包括可供開發團隊規劃、開發、測試和操作應用程式的先進工具。
    • Microsoft Visual Studio Professional 2013:Visual Studio Professional 2013 是一個具有專業品質的整合開發環境,可簡化為 Windows、Windows Phone、Office、Web 和雲建立、除錯和部署應用程式的任務。
    • Microsoft Visual Studio Test Professional 2013:Visual Studio Test Professional 2013 將測試人員和其他利益干係人納入到開發工作流中,使他們能夠與開發人員進行上下文協作。
    • Microsoft Visual Studio Team Foundation Server 2013:Visual Studio Team Foundation Server 2013 是一個處於 Microsoft 應用程式生命週期管理 (ALM) 工具套件核心部位的原始碼管理、專案管理和團隊協作平臺,可幫助團隊更加靈活、更有效地進行協作和更連貫地交付高質量的軟體。
  • 免費版:
    • Visual Studio Express 2013 for Web:Visual Studio Express 2013 for Web 提供用於建立新穎而引人注目的 Web 應用程式和服務所需的核心工具。
    • Visual Studio Express 2013 for Windows:Visual Studio Express 2013 for Windows 提供生成新穎而引人注目的 Windows 應用商店應用程式所需的核心工具。
    • Visual Studio Express 2013 for Windows Desktop:在 Visual Studio Express 2013 for Windows Desktop 中,可用 C#、Visual Basic 和 C++ 建立桌面應用程式,並且該軟體支援 Windows Presentation Foundation (WPF)、Windows 窗體和 Win32。
    • Visual Studio Team Foundation Server Express 2013:Visual Studio Team Foundation Server Express 2013 是一個處於 Microsoft 應用程式生命週期管理 (ALM) 工具套件核心部位的原始碼管理、專案管理和團隊協作平臺,可幫助個人和小型團隊更加靈活、更有效地進行協作和更連貫地交付高質量的軟體。

所有版本(包括收費版和免費版)都可以從這裡下載到:http://www.microsoft.com/visualstudio/chs/downloads,也包括語言包。不過免費的Windows Phone的開發還是暫時提供2012的版本(難道是要等WP8.1才提供2013的Express版本?)。

VS 2013要求使用Microsoft Account登入,對於收費版也可以不登入而選擇錄入序列號。如果登入收費版,會驗證登入的賬號是否具有相應的MSDN訂閱許可權。

另外,登入後還會提示你建立相應的TFService賬號(也提供了免費使用限額)。

登入有一個最大的好處,就是在所有機器上同步你的IDE設定。這個功能真是太好了,之前我升級VS後,總是要匯入前一個版本的配置檔案。現在機器中都還有2005的配置檔案備份呢。

根據我的實測(在雲伺服器安裝,方便Surface RT遠端連線,以實現拿著Surface RT出差也能寫程式碼的目的),免費版(即Express)可滿足日常的所有開發需求,比如基本的程式碼編寫除錯、單元測試、連線TFS包括Git原始碼資源庫。和正式版比起來,我的實際使用情況只是不能安裝Resharp。

所以,對於小型團隊而言,完全可以免費使用VS+TFS(或TFService)的全套工具來完成開發工作,這對於創業團隊而言非常適合。

使用感受和經驗

由於我從Preview版本就開始使用在我們公司的正式開發環境中,所以整體談談感受。

(可能有人問,什麼用Preview呢?因為我們正在開發一個新產品,估計到年底才釋出第一個版本,如果用最新的版本,那麼等我們釋出的時候就是基於最新平臺的了)

Git的支援讓分散式開發如虎添翼

先說TFS,在2012的時代,由於我們涉及到兼職人員的外部協作,所以我就改用微軟提供的TFService,用起來沒有大礙,不過由於微軟的伺服器在國外,速度感覺稍慢。在TFS 2012 Update之後,TFService首先提供了Git原始碼管理功能,不過當時沒有馬上採用。

後來考慮速度原因,併兼顧外部協作,還是在辦公室的伺服器上安裝了TFS 2013 Preview,選用Git建立了專案,並配置VPN供內部開發人員連線,且在公司外部伺服器安裝了Git Server供外部開發人員連線。我自己則為資源庫設定兩個Remote地址,進行兩個Git伺服器的同步。當然VS 2013只識別且只能操作名為origin的Remote地址,且origin必須符合TFS的地址規範才能獲得TFS整合功能。

使用過程中,出現push程式碼不成功,報伺服器資源不存在某個路徑,估計是Preview版有Bug,不過由於是Git,這個問題很輕易就被我解決了,就是在TFS上把原有的Git資源庫改名,然後再建立同名的Git資源庫,把原始碼從本地push回伺服器,最後刪除出錯的Git資源庫。這個就是Git的好處,如果是TFVC或者SVN的話,只有傻眼了。後來升級到RC就沒有出過類似問題。

從RC升級到RTM後,VS對於Git的整合的支援稍微有點增強,比如新增了“未同步的提交”等功能,操作選單也豐富了一點。當然這篇文章不是專門介紹TFS Git的,所以不會展開詳細講,後面我會在部落格或者社群活動中詳細講解。

升級TFS有驚無險

RC釋出之後,我就馬上對Preview升級。其實我的做法是重灌了TFS的作業系統,再安裝TFS 2013 RC,並配置連線到之前的Preview資料庫上,結果在升級資料庫的過程中報錯了。出錯的原因可能是之前我重灌過資料庫伺服器,沒有正確恢復分析服務和分析資料庫。

還算進行了備份,就恢復資料庫,並在重新配置TFS的時候,沒有選擇分析伺服器的配置,就成功了。所以升級TFS一定要備份資料庫。

過一會就打算去把TFS 2013 RC升級到RTM了。

用TFS進行敏捷開發如魚得水

在TFS 2013最大的改變,除了支援Git就是加強看板功能、新增Portfolio(Feature)Backlog,以及團隊聊天室了。支援的Scrum模板已經是3.0了。

看板功能增強後,檢視任務和燃盡圖更加方便;有了Feature Backlog後,可以把Backlog更好的進行層級劃分了;有了團隊聊天室,和遠端的隊友溝通無障礙了。

Web開發更上一層樓

在VS 2012上開發是ASP.NET MVC,用的是4.0版本,在VS 2013上使用的是MVC 5.0。4.0和5.0雖然差別沒有多大,不過登入驗證功能和模板都有較大改變。

在VS 2012中MVC的模板使用的樣式是一個微軟自己定製的,在使用VS 2012開發我們產品演示版本的時候,我就使用了類似Twitter.Bootstrap這樣的NuGet包來支援Bootstrap 2.0。

VS 2013 Preview和RC模板已經內建了Bootstrap(2.2),檢視也採用了Bootstrap的class等。可惜RC剛釋出幾天,Bootstrap 3.0就正式釋出了,我只好手動對檢視所用的class進行調整(還算那個時候專案的檢視檔案不多)。

在VS 2013 RTM中,不僅內建了Bootstrap 3.0,而且檢視class已經相容3.0了。

再說說登入驗證功能,這裡重點是窗體驗證。

在VS 2012中,採用的是WebMatrix/WebPages的驗證方式,即是SimpleMembership。在VS 2013中,改用了和Owin相容的全新驗證基礎架構,且支援EntityFramework來建立資料庫。

當然,這部分功能Preview、RC和RTM都一直在改變,之前我把登入的程式碼從Preview移植到RC,今天又把RC移植到RTM。RC到RTM,主要修改了模型類的名稱,比如User變為IdentityUser,並刪除了一些類,進行了簡化和優化。不過,我對MVC 5提供的登入驗證程式碼進行了簡單封裝,移植起來不是太費事。

相關介紹和新聞

以上的使用經驗只是我的一些零碎的總結,下面有更加完整和系統的新功能介紹:

其實和VS 2013一起更新,還有一個東西值得一提,就是Entity Framework 6,這是一個聽取了社群大量意見,有著很多新增功能的第一個開源版本。後面有時間且有一些心得之後再和大家分享。

更新

2013-10-20,MVC 5最新引用沒有自動更新,現在MVC 5的程式集都通過NuGet包來提供(因為開源了)。如果是從Preview或RC升級為RTM,那麼MVC 5的專案要注意一下和MVC相關的程式集是否還是引用著MVC 4.0的,你需要手動切換到5.0的NuGet包。

相關文章