程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> 使用Visual Studio 2010更好地進行編碼

使用Visual Studio 2010更好地進行編碼

編輯:關於.NET

13 年前 Microsoft 首次推出了 Visual Studio,這是其長時間運行的旗艦級集成開發環境。1997 年的第一版開始將版本 5 的 Visual Basic 和 Visual C++ 整合為一個公用 IDE。其企業版采用了一些曾經享有盛名的技術,包括 Visual InterDev、Microsoft Transaction Server 和 Visual SourceSafe 5.0。該版本的主要目的是幫助開發人員通過組件構建分布式應用程序,既包括客戶端/服務器應用程序,也包括 Web 應用程序。

作為開發人員,我們從那時到現在走過了很長一段路。雖然經過修改的客戶端/服務器和 Web 體系結構仍在編碼領域中占主導地位,但這些應用程序的范圍和要求已超出同構系統和強類型化對象到對象調用的范圍。

現在,具象狀態傳輸 (REST) 和相關的技術正成為主流的基礎通信機制。應用程序開始在基於雲的體系結構中尋找一個新家,從而讓第三方獲得可擴展性、可靠性和數據安全性。同時,Web 應用程序模式正向商品化的風格和標准看齊。甚至硬件也在不斷變化,處理器的速度已接近當前芯片技術的理論峰值,並且多核系統提供了新的途徑從一台計算機中擠搾出更高的性能。

在這種背景下,並且在軟件和軟件開發人員的迫切要求中,Visual Studio 2010 適時出現了。同時,在新功能的武裝下,它可以在目前跨平台、核心、風格和標准擴展的世界中,隨時滿足對軟件不斷增長的要求。本文將介紹 Visual Studio 2010 用於解決當今挑戰的一些主要方式,幫助開發人員構建能夠在現在所處復雜行業中不斷發展的解決方案。在這裡並不會介紹每個新功能,本文的目的是重點介紹開發人員能夠在日常工作中立即投入使用的一些特定功能。有關完整的功能列表,可以輕松在產品文檔中找到。

Visual Studio IDE 改進

由於軟件開發要不斷處理越來越復雜的情況,對於提高工作效率,開發人員常常備感壓力。Visual Studio 2010 在編輯器中新增了幾個可視功能,可幫助提高工作效率。在本文中,我將討論其中三個功能。

Visual Studio 2010 IDE 中一個比較簡單的改進是能夠將子窗口拖到 IDE 父窗口之外。監視器已變得非常經濟,足以讓開發人員在工作中使用兩台(或更多)監視器,而這種新功能允許您將編碼和設計窗口分布到多個屏幕中。

使用方法:只需單擊窗口的選項卡,並將其拖到 Visual Studio IDE 窗口之外。單擊標題欄並將窗口拖回 IDE 區域,然後將標題欄與其他窗口的選項卡對齊,該窗口即可輕松地重新停靠。重新停靠時,如果該窗口已正確對齊,您將看到一個直觀提示:該窗口將變暗,表示已准備好在您釋放時重新停靠。圖 1 顯示了一個代碼窗口,該窗口已拉到 IDE 父窗口之外。

圖 1 從 IDE 分出窗口

Visual Studio 2010 中另一個出色的新功能是能夠框選和編輯垂直文本塊。有時需要對較大的項列表進行編輯,您會發現自己一直在執行熟悉且快速重復的鍵盤序列(例如,一次又一次地執行“n+向下箭頭+後退箭頭”)。雖然這可能不是最常見的問題,但確實偶爾發生。許多開發人員都希望能夠選中整個垂直塊,並能一次對所有行應用同一種更改。Visual Studio 2010 引入了這種塊編輯功能。

使用方法:按住 Alt 鍵,然後選擇要編輯的垂直部分。突出顯示的區域將類似一個單行編輯,但這些編輯將同時在所選行上重復進行,如圖 2 所示。

圖 2 框選

還有一個針對代碼中引用的有用突出顯示功能。如果在編輯器中單擊一個變量、對象、方法、屬性、類型或其他符號,則代碼中對該符號的引用都會突出顯示,可幫助您快速發現使用該項目的位置。

使用方法:選擇一個類型/變量/方法/任何內容,然後直接單擊它,其他實例都將突出顯示。圖 3 以一個名為 jumpList 的變量為例顯示了此功能,可以看到在鼠標單擊將其選中後,該變量在代碼中的所有實例都帶有灰色陰影。

圖 3 突出顯示的符號

支持並行編程

讓我們來深入了解一下 IDE 的新功能,我將介紹的下一個重要新功能是對並行編程的支持。Visual Studio 2010 附帶了一些診斷工具,可幫助調試和分析並行應用程序。但在介紹此工具之前,我將簡要介紹一下並行編程的概念,然後我們便可以理解運行時和庫如何實現這些新功能。

現在,許多標准開發人員計算機都是多核計算機,意味著這些計算機都有兩個或更多的單獨處理器,並且目前計算機的趨勢是采用更多核心。除了純粹的創新功能之外,諸如節電、時鐘速度的實際限制、能耗和散熱之類的因素都影響著多核系統趨勢。一些業界領導者預測,在未來幾年,主流計算機將具有 50 或更多個核心。

這帶來一個獨特的問題。在多核革命之前,更快的計算機意味著能更快地運行應用程序。但是,限定於一個核心的軟件(最新軟件)無法利用這一新興的體系結構。因此,面向以後的多核體系結構非常關鍵。在 Visual Studio 2010 和 .NET Framework 4 之前,編寫可以使用多個核心的代碼非常困難。為解決這一挑戰,此版本包含了一些運行時更新(以及一些新類型、庫和工具),幫助開發人員來利用多核系統。

.NET Framework 4 包括具有三個組件的並行擴展:一個新的任務並行庫 (TPL),一個新的 PLINQ 執行引擎和一些新的協調數據結構 (CDS)。TPL 包含兩個主類。其中一個為 System.Threading.Tasks.Parallel,它包括一些並行結構,例如,For 和 ForEach 方法的並行版本。顧名思義,PLINQ 執行引擎是 LINQ to Objects 的並行化版本,提供了一個 ParallelEnumerable 類代替 LINQ 的 Enumerable 類。使用 PLINQ 與使用 LINQ to Objects 類似,但並不相同。最後,CDS 包含一組線程安全的集合和同步基元來簡化並行方案。CDS 包含一些熟悉的播放器,您可能需要在線程安全的集合(例如,ConcurrentDictionary、ConcurrentQueue 和 ConcurrentStack)以及同步類型(SemaphoreSlim、SpinLock、SpinWait 等等)中使用這些播放器。

通過新的“並行堆棧”窗口、“並行任務”窗口和 Concurrency Visualizer,Visual Studio 2010 引入了對並行擴展的支持。這些窗口的設計都可幫助您更好地了解在給定時刻各個任務在其執行中的位置。“並行堆棧”窗口顯示多個任務是如何通過其專用路徑工作的,並顯示這些任務的調用堆棧。可以選擇按任務抽象或直接作為線程查看該窗口。圖 4 顯示了運行時的“並行堆棧”窗口,該窗口中顯示了任務抽象視圖選項。

圖 4 Visual Studio 2010 中的“並行堆棧”窗口

已特別添加“並行任務”窗口來支持基於任務的新編程模型。當應用程序處於中斷模式時,您可以使用此窗口查看一些內容,例如任務列表、每個任務當前執行的方法、附屬線程、應用程序域、任務 ID 和其他內容。該窗口並非純靜態視圖:您可以單擊特定任務,IDE 會通過將當前執行的代碼放在最前面來顯示其狀態。圖 5 顯示了示例應用程序的“並行任務”窗口。與“並行堆棧”窗口並排使用此窗口是一種快速了解正在執行的代碼的出色方法。

圖 5 Visual Studio 2010 中的“並行任務”窗口

最後,為了獲得並行應用程序的更深入分析,Visual Studio 2010 中新增了一個 Concurrency Visualizer。此窗口比其他兩個窗口要復雜得多,但目前不支持 Web 項目。其目的是讓您深入了解應用程序在多核和多線程方案中如何與其環境交互。共有三個視圖:

“CPU 利用率”視圖顯示處理器活動。

“線程”視圖顯示應用程序中的線程如何進行交互。

“核心”視圖提供有關線程如何跨核心遷移的特定信息。

Concurrency Visualizer 依賴 Windows 事件跟蹤,這意味著它需要在 Windows Vista 或更高版本中運行。這些視圖(從基本文本到完全圖形顯示)揭示了代碼中由以下原因導致的效率低下:跨 CPU 糟糕地分布負荷、執行瓶頸、爭用以及其他潛在的性能約束因素。圖 6 顯示了 Concurrency Visualizer,其中顯示了被分析應用程序的線程使用情況。

圖 6 Visual Studio 2010 中的 Concurrency Visualizer

Web 更新

除了我前面介紹的普通更新之外,您會發現,遷移到 Visual Studio 2010 的 Web 開發人員還會獲得一些顯著改進的功能。當然,Visual Studio 2010 中現在包含了新的模型-視圖-控制器 (MVC) 編程模型工具,我將在下一節對其進行介紹。此外,還有一些針對客戶端和服務器端 Web 技術的改進 Web 開發體驗,以及一個新的單擊式 Web 部署模型。不過,我會首先介紹 ASP.NET AJAX 和 IDE 的相關新功能。

從 Visual Studio 2008 開始,Visual Studio 中已經存在 ASP.NET AJAX 工具。但是,以服務器為中心的模板使一些開發人員認為它不會對客戶端開發起到顯著的作用。雖然客戶端功能一直以來都存在,但 Visual Studio 2010 包括了能真正體現 ASP.NET AJAX 的客戶端和服務器端功能的額外支持。客戶端模板和控件是新功能列表的重要組成部分,因為它們能幫助您利用改進的客戶端數據訪問功能,但諸如 jQuery 集成之類的其他許多新項目也值得采用。

在 Visual Studio 2010 和 .NET Framework 4 之前,如果您希望使用軟件下載並將 Microsoft AJAX Library 與 Visual Studio 合並,則您要在添加 ScriptManager 時將所有內容都注入頁面。此版本已經合並了 Microsoft AJAX Library 和 AJAX 控件工具包。此外,Microsoft AJAX 團隊對庫進行了重構,因此您現在可以請求獲得所需的個別部分的內容,而不是被迫進行全有或全無的選擇。您可以指定一個模式,用於請求獲得 Microsoft AJAX Library 的所有部分、特定部分,或所有部分都不請求。

使用方法:只需在 ScriptManager 標記中包含 AjaxFrameworkMode 屬性。可以將其設置為 Disabled、Enabled 或 Explicit:

<asp:ScriptManager ... AjaxFrameworkMode="Disabled"/>

Disabled 意味著您不希望加載 Microsoft AJAX Framework。Enabled 意味著您希望使用以前版本中的現有行為(加載完整庫)。Explicit 允許您指定要加載哪些 Microsoft AJAX Library 文件。可以在運行時使用已加載頁面的“查看源代碼”對此進行驗證。

同樣,新的內容傳送網絡 (CDN) 屬性允許您使用最新版本的腳本庫。以前,可以在項目中包括 jQuery 或 Microsoft AJAX 等腳本庫,並且所包括的版本也是您對該發行版堅持使用的版本。現在,您可以要求從 Web 下載最新的版本,而不是講一個修復過的版本填入解決方案。

使用方法:在 asp:ScriptManager 標記中,您可以包含 EnableCdn 屬性,將其設置為“true”:

<asp:ScriptManager ... EnableCdn="true"/>

同時,ASP.NET AJAX 4.0 允許您定義純客戶端模板。您可以設置一個占位符 <ItemTemplate>,然後讓客戶端基於運行時值(例如,一個 JSON 綁定對象)進行渲染。運行時將代表您執行實例化,您不必執行 DOM 編碼即可使其工作。

ASP.NET AJAX 4.0 最有用的一個新增功能是改進的客戶端數據訪問,它使用一個新的 DataView 控件和一些客戶端模板,在客戶端中提供輕松的訪問和雙向數據綁定。它的設計方式使之可以使用 ASMX Web 服務、WCF 服務、WCF 數據服務、MVC 控制器,或返回 JSON 的任何內容,並且完全通過客戶端代碼執行此操作。

DataView 控件是用於支持客戶端模板的主要控件。其功能類似於 ListView 控件,但完全在客戶端代碼中實現。它允許在客戶端中定義一個模板,在運行時拉入數據,然後在顯示記錄時將格式應用到這些記錄。

使用方法:可以通過非常簡單的步驟設置此階段:基於 Northwind SQL 數據庫創建一個實體數據模型,並使用傳統的 WCF 數據服務將其直接拉入而不進行任何更改,這意味著 Employees 表應該可用於查詢。在這個背景下,選擇希望作為模板的控件,並為其提供一個 ID 屬性和 class=“sys-template” 屬性。創建數據視圖時,ID 用於表示在綁定上所拉數據的目標。您可以手動綁定,但還有一個使用大括號的語法將字段名稱直接嵌入標記,在提取數據和綁定到該標記時,該標記將會被替換。有多種語法可以實現此目的,但編寫腳本和標記執行此操作的一種更加便於理解的方式是使用雙大括號,如圖 7 所示。

圖 7 通過 DataView 控件改進數據訪問

...
   <script type="text/javascript">
   Sys.require([Sys.components.dataView,
          Sys.components.adoNetServiceProxy], function () {

     var adoNetDataServiceProxy =
      new Sys.Data.AdoNetServiceProxy('NWDataService.svc');

     Sys.create.dataView("#employeetemplate", {
      dataProvider: adoNetDataServiceProxy,
      fetchOperation: "Employees",
      autoFetch: true
       });
     });
   </script>
</head>
<body>
  <div id="employeetemplate" class="sys-template">
    <span>{{ FirstName }}</span><br/>
  </div>
</body>

對於 ASP.NET AJAX 項目,還有一點值得一提,就是它已設置為與 jQuery 更緊密地集成。為了讓 jQuery 開發人員利用 ASP.NET AJAX 中的控件,所有 AJAX 控件工具包現在都自動作為 jQuery 插件公開。這意味著 jQuery 開發人員可以使用這些控件,而不必更改其開發風格。您可以簡單地將這些控件視為 jQuery 擴展。

除了 ASP.NET AJAX 領域,還有其他幾個針對 ASP.NET 編程體驗的出色增強功能。Web 窗體的 URL 路由增加了 URL 的清晰感和邏輯性:更加利於搜索引擎優化 (SEO),並且更便於查看者理解。您可以在 global.asax 文件中定義路由,從而將請求與相應的資源對應起來。這不僅幫助改進了 SEO,而且頁面可以為用戶呈現可預測的路徑,如圖 8 所示。

圖 8 Visual Studio 2010 中的 URL 路由改進

New URL Routing Format:
  /CurrentPosition/Bob/Tester 

Old URL Style:
  /CurrentPositions.aspx?name="Bob"&role="Tester"

還有更多值得介紹的 Web 相關增強功能(例如,初學者網站、更清晰的 HTML 以及更小的配置文件),但我無法在本文中全部討論,因此,我將轉到 MVC 工具增強功能。

MVC 集成

MVC 體系結構模式是構建高度可維護、可測試 Web 應用程序的一種流行方式,這些應用程序具有明確定義的界限以及按功能明確分類的代碼。MVC 是一種充分利用 ASP.NET 框架的 ASP.NET 編程方式。它是除 Web 窗體之外的另一種選擇,但不是取代 Web 窗體。對於某些方案和技能集,這兩種模型都能良好工作。現在,開發人員可以選擇 Web 應用程序的編程模型。這兩種模型都以 ASP.NET 為基礎,並且在 Visual Studio 2010 中完全受支持。

版本 2 的 MVC 及其附屬工具(在 Visual Studio 的各個版本之間構建)已與 Visual Studio 2010 IDE 中的兩個項目模板集成,如圖 9 所示。

圖 9 Visual Studio 2010 中的 MVC 項目模板

對於 Visual Studio 2010 版本,MVC 編程模型重點進行了三個方面的改進。第一方面改進是更好地分離不同的關注點。這意味著通過一些內容可以更好地維護代碼,例如,新的 RenderAction 方法(用於編寫業務邏輯分離),以及 Areas(允許創建“子應用程序”分隔應用程序中的功能)。第二方面改進是一個更好的驗證情景,通過數據批注和向客戶端提供驗證規則降低了驗證難度。最後,還有一些幫助程序改進。現在,有強類型化的幫助程序和模板化的幫助程序,可讓您自動生成實體的 UI。

使用方法:RenderAction 使得跨多個控制器共享一個邏輯非常容易。若要從視圖內調用 RenderAction 方法,可使用以下腳本(該腳本會調用 HRController 中的 NewEmployee 操作):

<% Html.RenderAction("NewEmployee" "HRController"); %>

SharePoint 集成

Visual Studio 2010 中另一個重要的工具集成是添加了 SharePoint Foundation(以前稱為“Windows SharePoint Services”)模板。Visual Studio 2010 附帶了 12 個適用於 SharePoint Foundation 的新模板,再加上 SharePoint 2007 順序工作流和狀態機工作流模板(通過 Visual Studio 2008 的 Visual Studio Tools for Office 加載項提供)。這些模板將 SharePoint 開發提升至最優狀態,主要關注工作效率和靈活部署。

SharePoint Foundation 本身在核心應用方面也在發生改變,正從一個可以擴展的簡單門戶網站轉變為一個用於從頭開始使用組件(例如,用戶管理、基礎列表基礎結構和站點模型)構建應用程序的平台。在數據訪問、業務線應用程序集成和工作流方面有顯著改進。同時,還有一個更靈活的部署模型。現在,許多公司都安裝了大量 SharePoint,並且需要對新 SharePoint 應用程序的臨時部署更加小心。通過靈活的新部署模型,您現在可以采用沙盒將新安裝部署到特定組,而不需要跨整個 SharePoint 生態系統部署這些新安裝。

Visual Studio 2010 已極大改進了用於構建 SharePoint 應用程序的工具選項。的確,針對此目的的強大功能已經存在,但最初的學習過程非常艱難。對於此版本,您會發現對內置到這些工具中的 SharePoint 的出色支持。這包括全面而集成的調試、靈活的部署工具,以及對 Business Connectivity Services (BCS)、工作流、LINQ to SharePoint 和可視 Web 部件改進的設計支持。還有一個更好的橋梁用於將項目從 SharePoint Designer 工具導入到 Visual Studio 2010 中。

使用方法:在 Visual Studio 2010 中使用新的設計圖面構建可視 Web 部件極為容易。先選擇啟動一個新項目,然後選擇“SharePoint”|“可視 Web 部件”,如圖 10 所示。

圖 10 Visual Studio 2010 中的 SharePoint 可視 Web 部件模板

請注意,您需要在開發人員計算機上為此目的安裝 SharePoint,但並不像過去安裝時那麼困難。如果您使用的是 Windows Vista SP1(或更高版本)或 Windows 7,則現在可以直接在該計算機上安裝 SharePoint,而不必擔心安裝 Windows Server 或為其設置 VM 的問題。

系統將提示您告知 Visual Studio 2010 在何處安裝解決方案進行調試。打開編輯器後,可以單擊左下方的“設計”選項卡,然後開始以可視方式構造 Web 部件(只需將控件拖動到設計圖面)。請注意,如果工具箱尚未顯示,則可能需要將其打開(“視圖”菜單 |“工具箱”)。

Windows 7 開發

隨著 Windows 7 的日益普及,開發人員可能開始希望在應用程序中添加一些功能,以利用此新平台上提供的一些豐富體驗。開發人員可以通過很多方法添加 Windows 7 特定的功能。一個流行的新功能是新的任務欄。鑒於任務欄早已為用戶所接受並且易於編程,它十分適合用在面向 Windows 7 的應用程序中。

任務欄取代了以前版本的 Windows 中的快速啟動任務欄。任務欄沿 Windows 7 屏幕底部(默認情況下)顯示,並允許應用程序“固定”到其中。此外,應用程序還可以借助任務欄包含一些元素,例如跳轉列表和任務欄預覽:跳轉列表是可通過右擊停靠圖標得到的快速鏈接集;任務欄預覽是應用程序的打開窗口的縮圖顯示。任務欄可以很容易地從托管代碼(通過 Windows 7 API 代碼包)和非托管代碼進行編程,十分適合開發人員在構建運行於 Windows 7 上的應用程序時使用。

使用方法:用戶只需在“開始”菜單、資源管理器或任務欄自身中右鍵單擊圖標,即可將應用程序固定到任務欄或從任務欄取消固定。若要固定應用程序,請右擊該應用程序(不是文檔,而是應用程序本身)圖標,選擇“鎖定到任務欄”。若要將其從任務欄中移除,請執行相同的操作,但選擇“將此程序從任務欄解鎖”。

任務欄為應用程序同時提供了外觀改進和功能改進。任何程序都可以固定到任務欄,無論該程序是否正在運行都是如此。固定圖標可以啟動該應用程序,或用於表示最小化窗口。應用程序正在運行時,如果將光標放在任務欄中的圖標上,會產生一種稱為“熱跟蹤”的出色視覺效果。熱跟蹤取用圖標的主體顏色,並用該顏色突出顯示該圖標。當然,您還將在固定圖標之上看到應用程序運行實例預覽。

任務欄還有一個稱為 Aero Peek 的功能。若要查看此功能,可以將光標放在一個窗口預覽上,這樣,所選預覽的窗口將提到最前面,而其他窗口將變暗。用戶若要在不更改焦點也不按一個鍵的情況下快速查看隱藏窗口或最小化窗口,這是一個好方法。

為跟蹤應用程序,要為正在運行的應用程序實例提供應用程序 ID,並將這些實例與其在任務欄中的應用程序圖標對應起來。如果您是開發人員,可以使用 TaskbarManager 和 JumpList 類以編程方式從應用程序與任務欄交互。請注意,若要使用這些類,您需要下載和引用 code.msdn.microsoft.com/WindowsAPICodePack 上免費 Windows 7 API 代碼包中的程序集。

此代碼包由 Windows SDK 團隊構建,允許您以編程方式使用任務欄。它還包含一些具有 Windows 7 增強功能的示例應用程序。您在代碼中實際上是設置對這些已編譯程序集的引用(在此示例中,用於浏覽任務欄項目)。

此外,對於一個應用程序的多個實例,可以靈活地提供相同的應用程序 ID 或唯一的應用程序 ID,以便可以在任務欄上將其分組排列或單獨排列。若要為應用程序的不同實例提供唯一 ID,需要在調用 Application.Run 之前設置應用程序 ID。如果只希望每個子窗口在任務欄中各有自己的圖標,則可以隨時更改其應用程序 ID。

使用方法: 若要在任務欄中為子窗口單獨提供圖標,請使用 JumpList 類並調用靜態方法 CreateJumpListForIndividualWindow,同時傳入子窗口應用程序 ID 和該窗口的句柄。代碼如下所示:

childWindowJumpList = JumpList.CreateJumpListForIndividualWindow(
childWindowApplicationId, this.Handle);

Windows Azure 集成

對於傳統的內部和 Web 承載體系結構解決方案,雲計算正迅速成為一個可行的替代解決方案。簡單而言是這樣一種想法:取出您的部分(或全部)軟件解決方案,讓公司在一個具有按需擴展和高可靠性的巨大數據中心內承載一切。Windows Azure Platform 是 Microsoft 的雲計算和服務平台。它包括三組服務:Windows Azure、SQL Azure 和 Windows Azure Platform AppFabric。

Windows Azure 是用於承載應用程序的環境,可以將其視為雲中的操作系統。從本質上說,SQL Azure 是雲中的數據庫。Windows Azure AppFabric 是一組通用構造塊,可以由雲中承載的應用程序使用。Windows Azure AppFabric 目前包含兩個服務:訪問控制服務(用於聯合身份驗證和基於聲明的授權)和服務總線(用於在雲中的解決方案與內部部署的解決方案之間建立連接)。

Visual Studio 2010 包含多個用於構建 Windows Azure Platform 解決方案的項目模板。對於 VB.NET 和 C#,有四個不同的 Web 角色模板,每個模板對應一個輔助角色。還有一個針對 F# 的輔助角色項目模板。VB.NET 和 C# 的 Web 角色模板分別對應於 ASP.NET、MVC with ASP.NET、WCF 服務和 CGI。

在 Visual Studio 2010 中使用 Windows Azure Platform 項目的一個獨特之處在於:創建項目時您可以為項目選擇多個角色。例如,您可以創建一個新項目,該項目具有 C# 中的 ASP.NET MVC Web 角色和 VB.NET 中的輔助角色。這就是“新建”|“項目”體驗與雲應用程序略微不同的原因,您實際上是從對話框選擇這些角色,而不是通過可以在大多數其他項目模板中看到的單選模式進行選擇。

使用方法:若要在 Visual Studio 2010 中創建一個面向 Windows Azure Platform 的項目,可以從“已安裝的模板”列表中選擇“雲”,如圖 11 所示。

圖 11 在 Visual Studio 2010 中選擇雲項目類型

這將彈出一個對話框,可以從中選擇所需的角色,每個角色都可能是一個不同的類型和/或語言。圖 12 顯示了一個新的 Windows Azure 雲服務項目,具有一個 ASP.NET MVC Web 角色、兩個 VB.NET 輔助角色和一個 F# 輔助角色。

圖 12 設置具有多個角色和語言的雲服務項目

多重目標

多重目標本身對於 Visual Studio 2010 來說並非新事物,但它有一個值得關注的新的擴展性功能。許多人都沒有意識到多重目標的優勢,不了解多重目標如何讓他們使用 Visual Studio 2010 來構建將在早期版本 .NET Framework 上運行的解決方案,這種情況多少有點令人驚訝。對於希望利用最新工具(使用其高級的調試功能和改進的編輯器功能)但尚未准備好將其代碼(也可能是客戶)遷移到 .NET Framework 4 的開發團隊而言,多重目標是個理想選擇。利用多重目標,可以選擇將應用程序構建為面向 .NET Framework 版本 2.0、3.0、3.5 或 4。

使用方法:啟動一個新項目時,只需在下拉列表中選擇目標 Framework 即可,如圖 13 所示。

圖 13 通過多重目標選擇目標 Framework 版本

通過一個名為 <更多 Framework…> 的新選項(請注意圖 13 中圈出的下拉列表框中的最後一項),可以擴展受支持目標 Framework 的范圍。這允許添加 Framework 的未來版本,甚至在將來某個時候添加其他 .NET Framework 配置文件。這種添加最可能通過 MSI 安裝,但最終可能會通過一個 XML 描述文件手動添加,並將 Framework 程序集直接復制到計算機上。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved