Microsoft IDE的改進方便了各個層次的用戶這些改進包括語言級集成查詢新的繪圖設計圖面支持Vista Web 技術和Net 框架的多個版本VS是微軟公司堅持IDE(集成開發環境)長期路線的最新體現它是最初的集成開發環境用來使用微軟Net Framework開發應用程序至少是最好的Windows的C/C++集成開發環境的競爭者當然VS不僅僅限於開發台式機應用程序它也適用於開發Web SOA和設備應用程序
從免費的Express Editions 版本到無所不能的價值美元的Visual Studio Team System Team Suite VS發布了一系列的版本從根本上說Express版本是為初學者學生以及業余愛好者設計的標准版本是針對個人開發者的專業版本則是為高級開發者以及小團隊的工作者設計的
Team System主要是為更大的團隊設計的主要包括開發者設計者數據庫管理人員測試人員在內的Team System客戶以及一個被命名為Team Suite的多功能的聯合客戶Team System的服務器是Team Foundation Server (TFS)此Team Foundation Server (TFS)結合了一個團隊入口版本控制工作項目追蹤build 管理 流程指導以及商務智能
本文針對VS專業版的得與失進行了分析而且會提及到Team Suite的一些優點希望與大家一起分享
安裝和測試
本文使用了VS的三種安裝方式第一個是安裝在Windows Vista上的專業版本這個是為x筆記本電腦設計的而且筆記本上帶有Expression Web和 Expression Blend第二個是安裝在Windows XP台式機上的Team Suite而且Windows XP上也安裝了VS但是不能使用TFS第三個是安裝在Windows Server Virtual PC裡的Team SuiteWindows Server Virtual PC上也安裝了TFS以上版本的天測試版都可以從Microsoft 官網上找到
在開始安裝之前有一個小建議即創建一個系統的鏡像備份這是非常明智的因為安裝VS通常需要幾個小時而且需要手動開始文件安裝步驟
我連續幾周在XP台式機上運行了VS Team Suite而且每周都運行五天而且試圖在所有的開發工作中使用VS Team Suite我也在Vista筆記本電腦上使用專業版本運行了幾個單個的開發方案並且在Team Suite/TFS virtual PC上模擬了一些團隊開發方案有一點要注意的是如果使用帳號控制(UAC)在Windows Vista上安裝就一定要作為管理員將VS多運行幾次直到所有要求的目錄都創建了為止完成後它才是完全符合UAC的
引進Net Framework
VS是Visual Studio第一個支持Net Framework 的版本它也是第一個以Net Framework ( and )多個版本為目標的版本Visual Studio先前的版本僅僅支持Net Framework的一個版本強迫開發者要麼保持Visual Studio的多個版本要麼將所有項目更新到Net Framework的當前版本以多個為目標是一個很受歡迎的進步在標准版本以及更高級版本中都可以找到它
很多技術人員都希望微軟在這一方面取得更多的進步不幸的是微軟並沒有提供以Net Framework 為目標的版本也沒有在VS VS和 Visual Studio Net 項目間提供簡單的雙向轉換這點讓我們感覺到有些失望
Net Framework 有多個新類別庫和語言功能包括語言級集成查詢與Web 和 SOA相聯系的改進集成的工作流程點對點的協議以及Microsoft Office支持
所有這些工具都能在VS中找到例如在Visual BasicNet 和 Visual C#中VS 的標准版以及更高的版本中都有語言級集成查詢(LINQ)支持包括面向對象設計(Object Relational Designer) the SQLMetal命令行參數工具 LINQaware 代碼編譯器以及調試程序支持
LINQ語言級集成查詢
LINQ是一個帶有許多可能組件的一般機制LINQ將數據查詢引入到C# 和Visual Basic語言為查詢創建句法這些查詢針對於內存中的數據結構就像針對於文件系統XML文件SQL數據庫的查詢一樣
VS中有幾個LINQ組件和提供商包括Objects(字符串反射和文件目錄)的LINQXML 的LINQ 以及 ADONet 的LINQ ADONet 的LINQ包括兩個組件DataSet 的LINQ 和SQL的 LINQ VS中沒有包括更高級的ADONet 實體框架以及實體的 LINQ 但是今年都會作為一個輔助工具補充進來
我在針對於SQL服務器數據庫的C#中測試了SQL 的LINQ
在寫LINQ 查詢時Object Relational Designer從數據庫架構中創建C#類型進執行得很順利而且IntelliSense也工作正常另一方面通過手寫針對於三個相聯系表格的LINQ查詢導致了LINQ存在的一些技巧方面的局限我們都期望得到能和VS圖像SQL Query Designer 相對等的LINQ 因為我從沒有找到書寫和SQL SELECT DISTINCT查詢相對等的LINQ的方法
智能感知 重構 單元測試和指標
在做這個小項目的時候我發現C#重構功能(包括在專業版以及更高的版本中)運行順利編輯C#時開發員能利用自動的重構這是LINQ的完全智能感知支持只為托管代碼計算代碼指標
我也發現托管代碼(包括VSTS Developer和Team Suite中的托管代碼)的代碼指標也運行得很好我不確定我是否同意為代碼(此代碼從設計圖面生成)計算指標的方法但是我確定能看到指標的全部效應尤其是在帶有TFS的團隊項目托管范圍內讓人高興的是VS為托管代碼引進了此技術
但是非托管 C++項目不能使用代碼指標和代碼重構對這一點讓人感到很失望另一方面C++程序可以利用一個很好的調用浏覽器即它給你提供一個關於其他功能的簡潔說明這些功能可以調用一個特定的功能代碼行則執行這些調用
Visual Basic項目有代碼指標這些代碼指標帶有簡潔得不可思議的句法巨大的智能感知功能以及許多代碼片斷然而 讓人失望的是Visual Basic項目沒有代碼重構盡管可以利用幾個第三方插件添加此功能
現在單元測試是專業版本的一個功能(它是VS中的一個VSTS功能)我們可以為C#Visual Basic以及 托管 C++解決方案創建單元測試和測試項目在使用免費的開放源程序Nunit之前可以為C# Visual Basic以及 托管 C++解決方案創建單元測試和測試項目但是將單元測試功能和IDE集成起來更好
為JavaScript設計的智能感知是VS一個大的進步但是代價很高盡管已經增加了用來寫ASPNet AJAX 和Silverlight頁的JavaScript的支持然而用來編輯VBScript以及Classic ASP的支持卻被拋棄了因為我仍然保持了一個 vintage Classic ASP站點當發現VS處理ASP網頁做得比VS還差時或者比Visual InterDev 還差時真是讓人非常惱火據說微軟正在考慮恢復此功能為VS提供一個服務包同時仍然保持Classic ASP站點的人們不應該放棄它們現有的工具
WPF Silverlight和 Web
VS支持帶有一個分隔面板的WPF設計調試器支持和為C# 以及Visual Basic 而設計的WPF項目模版微軟稱WPF支持用戶界面(UI)媒體文檔硬件升級向量圖形不同形式因子的可測量性交互的數據可見性優越的內容可讀性WPF圖表制法由XAML(XAML是XML的分支)定義隔面板 WPF設計者在一個方格中使用GUI而在另一個方格中使用XAML只要你沒有將錯誤引入到XAML就可以雙向同步化兩者(GUI和XAML)
只要為VS安裝了Silverlight SDK 和Silverlight Tools VS 支持 SilverlightSilverlight是一個豐富的因特網應用程序技術此因特網應用程序技術包括WPF的一個子集我曾使用VS測試版開發Silverlight應用程序並且取得好的效果
VBScript 和 Classic ASP被拋棄的支持帶來異常VS中網頁設計圖面比VS中的更好它與Expression Web很相似並且很好地支持CSS在VS中為ASPNet AJAX Windows Communications Foundation以及Windows Workflow Foundation設計的設計圖面和項目都是免費的都已經轉移到了基礎VS產品中
Office和智能設備目標
Office (VSTO)的Visual Studio Tools已經被融合到了VS專業版本以及更高的版本中以前它是一個單個的產品賣價是美元現在VSTO支持C# 和 Visual Basic中Office 和Office 的所有組件
VS可以為四個目標平台創建托管 Smart Device而且在C# 和 Visual Basic 中VS可以創建Net Compact Framework的兩個版本在C++中使用Win ATL(活動模板庫)和MFC(微軟基礎類庫)庫VS可以創建非托管 Smart Device項目過去這個功能存在於分開的Windows CE工具箱中
其他
ClickOnce部署被增強了以此涵蓋了WPF Web Browser應用程序提高ClickOnce部署允許ISVs重新簽名應用程序宣告在UAC下生成宣告ClickOnce是微軟安裝程序一個更輕量級的選擇微軟安裝程序允許從網站部署自我更新的台式機應用程序
Microsoft SQL Server Compact 是一個新的本地數據庫此本地數據庫非常小能夠部署在小的設備上開發者能在獨立的以及偶然連接的方案中使用它當SQL Server Compact用於本地數據庫緩存時ADONet的微軟同步服務處理本地Compact數據庫和遠程數據庫之間的周期同步化
如果測試了Team Foundation Server(TFS )安裝Visual Studio可以集成它這允許程序員接受工程項目執行簽入也允許管理員提出報告
Team System取得了許多改進TFS一方面創建了新的Team Build系統另一方面是Web的存取建築師有一個新的自上而下的系統設計還有一個建築設計的角色系統開發者擁有我先前討論的新的代碼指標系統也是更好的代碼分析和性能工具DBAs 擁有 TSQL代碼分析數據生成器和重構工具測試者有更好的工具和確認規則包括一個測試負載代理
Visual Studio有一個獨立軟件推銷商的活動生態系統大部分推銷商生產插件和控件(這些控件提高Visual Studio)這樣使該生態系統更加健康因為它允許ISVs更有競爭力微軟的花費也相對少一些
總結
總的來說Visual Studio 進行了很大的改變同時也是為了與新技術(WPF WCF和 WF)一起發展為了開發新平台(如Windows Vista)許多面向微軟的開發商也定會想取得此新技術然而要想取得這項新技術可不是那麼容易的一旦項目本身已經成功地更新了大部分開發商在項目上就會更新所有的開發者
對於仍然保持了Classic ASP站點的公司在Classic ASP以及VBScript編輯功能恢復了之前建議一起安裝VS和VS因為已經感知到的VS的問題對於那些仍然使用Visual Studio Net 或者是更老的版本的公司 VS是更好一點的選擇
Visual Studio用戶的水平是參差不齊的但他們都發現Visual Studio 發行版被改進了它很少出現異常情況對於開發人員來說這是一個強大的更新而且為未來開發技術的發展提供了一個可靠的基礎
From:http://tw.wingwit.com/Article/program/net/201311/11340.html