Visual Studio 2017 的核心功能
配置、調(diào)試、構建、部署、定制方法
介紹UI的改進之處以及提升開發(fā)效率的技巧
探討IDE的新功能,包括代碼片段、重構和模式
提供真實環(huán)境和示例
解釋新增的移動應用程序和數(shù)據(jù)管理工具
幫助資深人員和新手充分利用Visual Studio 2017
內(nèi)容豐富、概念清晰,采用以IDE 為中心的新穎方法揭示Visual Studio 2017 的諸多秘密,詳細介紹Visual Studio 2017 的基礎知識、編程方法及技巧,力求將新、全面、實用的技術展現(xiàn)給讀者,是開發(fā)新手和從早期版本升級的開發(fā)人員必備的參考資料。
用通俗易懂的語言向讀者介紹Visual Studio 的功能,書中所涉及的代碼及用例都是作者精心挑選的。每段代碼既有良好的可讀性,又能很好地傳達作者意圖,使讀者能輕松地理解每項功能,掌握Visual Studio 的使用和開發(fā)秘訣!
分為集成開發(fā)環(huán)境、入門、進階、桌面應用程序、Web 應用程序、移動應用程序、云服務、數(shù)據(jù)、調(diào)試、構建和部署、Visual Studio 版本共11部分。列舉大量實例論述如何將現(xiàn)代的軟件工程思想應用于軟件開發(fā)生命周期的各個階段(需求、項目管理、架構設計、開發(fā)和測試等)。大部分實例程序都可直接用于用戶開發(fā)的應用程序中。
前 言
Visual Studio作為開發(fā)工具,一直都在競爭中處于領先地位。負責開發(fā)Visual Studio的團隊一直把編碼效率列在優(yōu)先級列表的頂部。這個版本延續(xù)了這個傳統(tǒng)。Visual Studio總是融合了Microsoft主要編程語言(Visual Basic和C#)的最新改進,還添加了一些小功能,這對程序員來說是件好事。但在更高層次上,Visual Studio 2017將以多種方式擁抱開源、移動開發(fā)和云計算。Azure不斷推出新的功能和產(chǎn)品,Visual Studio 2017將與它們無縫集成。理論上,使用記事本和命令行窗口這樣的簡單工具也可以創(chuàng)建任意.NET應用程序,但開發(fā)人員一般不會這么做。Visual Studio 2017包含了許多改進功能和新功能,以簡化開發(fā)工作。
無論從哪方面看,Visual Studio 2017都是一款龐大的產(chǎn)品,所以初學者和經(jīng)驗豐富的.NET開發(fā)人員要找到需要的功能比較困難。《Visual Studio 2017高級編程(第7版)》介紹這個開發(fā)工具的所有主要方面,闡述如何使用每項功能,給出如何高效使用各種組件的建議,還說明Visual Studio 2017的組成部分,并把用戶界面分解為容易管理的塊以便于理解。此后詳細描述這些組件,包括它們各自的作用以及相互之間如何協(xié)調(diào)工作,并介紹未包含在該產(chǎn)品中的一些工具,使開發(fā)工作更高效。
《Visual Studio 2017高級編程(第7版)》讀者對象
《Visual Studio 2017高級編程(第7版)》面向所有Visual Studio開發(fā)新手以及想學習一些新特性的有經(jīng)驗的編程人員。
熟悉Visual Studio編程環(huán)境的讀者可跳過《Visual Studio 2017高級編程(第7版)》的第Ⅰ部分,該部分介紹用戶界面的基本構造。安裝過程變化最大,粒度更細了,意味著你可以只安裝所需的內(nèi)容;如果不首先安裝組件,安裝過程只需要單擊一兩次即可完成。增加的功能不多,因此可以不閱讀第Ⅰ部分,但Visual Studio 2017中的一些變化可以使開發(fā)更高效;畢竟,這是讀者閱讀《Visual Studio 2017高級編程(第7版)》的目的。
初次使用Visual Studio的讀者,應該先閱讀《Visual Studio 2017高級編程(第7版)》的第Ⅰ部分,該部分介紹了一些最基本的概念,為讀者展示用戶界面,并講解如何定制自己的編程環(huán)境。
《Visual Studio 2017高級編程(第7版)》主要內(nèi)容
Visual Studio 2017無疑是目前可供開發(fā)人員使用的最佳集成開發(fā)環(huán)境(IDE)。它基于成熟的編程語言和接口,受到開發(fā)環(huán)境許多不同方面的影響。
Visual Studio 2017不是一個革命性版本。然而,無論創(chuàng)建什么類型的應用程序,都要做一些調(diào)整很小的調(diào)整(例如.NET Core)。熟悉這些變化可以幫助我們更好地完成工作。出于這個原因,以及為了更好地幫助Visual Studio新手,《Visual Studio 2017高級編程(第7版)》涵蓋了該產(chǎn)品的所有內(nèi)容。這樣,讀者會更熟悉界面,更得心應手。
Visual Studio 2017有幾個版本:社區(qū)版、專業(yè)版和企業(yè)版。《Visual Studio 2017高級編程(第7版)》主要介紹Visual Studio 2017的專業(yè)版,但有些功能只在企業(yè)版中才有。如果之前沒用過這些版本,請參閱第38章和第39章的相關內(nèi)容。
《Visual Studio 2017高級編程(第7版)》組織結(jié)構
《Visual Studio 2017高級編程(第7版)》分為以下11個部分:
● 集成開發(fā)環(huán)境:《Visual Studio 2017高級編程(第7版)》前5章旨在幫助你熟悉Visual Studio 2017的核心部分。從IDE結(jié)構和布局到各種選項和設置,包含使用戶界面匹配自己的工作方式所需的所有內(nèi)容。
● 入門:該部分介紹如何控制項目,以及如何組織它們,以符合自己的風格。
● 進階:雖然Visual Studio的許多圖形組件使程序員的工作更容易完成,但程序員在編碼時經(jīng)常需要其他一些幫助。因此,本部分介紹支持應用程序編碼的功能,如IntelliSense、代碼重構以及單元測試的創(chuàng)建和運行。
● 桌面應用程序:在.NET Framework中,富客戶端應用程序已經(jīng)有了很大的變化,從Windows Form應用程序到Windows Presentation Foundation (WPF),再到通用Windows平臺應用程序,每個應用程序都用單獨的一章來探討。
● Web應用程序:Web應用程序比桌面應用程序有更多的變化。就像桌面應用程序一樣,三種不同的開發(fā)風格(ASP.NET Web窗體、ASP.NET MVC和.NET Core)都用單獨的一章來探討。幾個新功能:塊、Node.js和Python也包括在這一部分。
● 移動應用程序:Visual Studio 2017支持用兩種不同的風格來開發(fā)移動應用程序。通過Xamarin,可以使用熟悉的.NET組件創(chuàng)建移動應用程序。通過Apache Cordova(以前的PhoneGap),可以針對移動設備使用HTML、CSS和JavaScript。
● 云服務:Visual Studio 2017以各種方式支持云。Windows Azure這一章著眼于Azure的一些新特性如何集成到Visual Studio中。此外,還研究如何使用同步服務作為數(shù)據(jù)存儲平臺,以及如何為SharePoint創(chuàng)建應用程序。
● 數(shù)據(jù):大多數(shù)應用程序都使用某種數(shù)據(jù)存儲形式。Visual Studio 2017和.NET Framework都包含處理數(shù)據(jù)庫和其他數(shù)據(jù)源的強大支持。本部分講述如何使用Visual Database Tools和ADO.NET Entity Framework構建處理數(shù)據(jù)的應用程序,還討論如何使用Azure中的幾個新功能支持數(shù)據(jù)倉庫的構建和數(shù)據(jù)分析。
● 調(diào)試:應用程序調(diào)試是開發(fā)人員必須完成的一項較難任務,但正確使用Visual Studio 2017的調(diào)試功能有助于分析應用程序的狀態(tài),并確定出錯的原因。該部分介紹IDE提供的調(diào)試支持功能。
● 構建和部署:除討論如何構建有效的解決方案和向最終用戶交付應用程序外,該部分還涉及如何升級以前版本的項目。
● Visual Studio版本:《Visual Studio 2017高級編程(第7版)》最后一部分介紹只能在Visual Studio 2017的企業(yè)版中使用的功能,另外探討Visual Studio Team Services為管理軟件項目提供的基本工具。
盡管對Visual Studio功能進行了上述分解,并提供了邏輯性最強、易于理解的主題,但讀者仍需要查找特定的功能來幫助自己完成某個活動。為了滿足這個需求,只要在《Visual Studio 2017高級編程(第7版)》的其他地方詳細介紹某個功能,《Visual Studio 2017高級編程(第7版)》就會提供對應章節(jié)的參考。
隨著Visual Studio的發(fā)展,《Visual Studio 2017高級編程(第7版)》的早期版本已經(jīng)發(fā)展到了難以控制的地步。Visual Studio 2017還有更多功能,為避免《Visual Studio 2017高級編程(第7版)》的篇幅超過2000頁,我們從早期版本的Visual Studio中選取了一些章節(jié),將它們放到一個在線檔案中;這些章節(jié)包含了Visual Studio 2017中沒有更改或增強的特性。因此,一般來說,如果想在Visual Studio 2017中使用這些指令,其中的說明將會適用。可以在www.wrox.com上找到這個在線檔案。
《Visual Studio 2017高級編程(第7版)》使用前提
為高效地使用《Visual Studio 2017高級編程(第7版)》,需要安裝Visual Studio 2017專業(yè)版,結(jié)合《Visual Studio 2017高級編程(第7版)》的內(nèi)容安裝軟件并實際操作,會在極短時間內(nèi)掌握高效使用Visual Studio 2017的方法。為了跟隨《Visual Studio 2017高級編程(第7版)》中的所有示例,應確保在Visual Studio 2017安裝期間安裝以下工作負載(如第1章所述):
● Universal Windows Platform
● .NET desktop development
● ASP.NET and web development
● Azure development
● Node.js development
● Data storage and processing
● Data science and analytical applications
● Mobile development with .NET
● Mobile development with Javascript
● .NET code cross-platform development
《Visual Studio 2017高級編程(第7版)》假設讀者已經(jīng)熟悉傳統(tǒng)的編程模型,將使用C#和Visual Basic(VB)語言演示Visual Studio 2017的功能。此外,還假設讀者能理解代碼清單,因此不解釋這兩種語言的基本編程概念。如果讀者剛開始編程,希望學習Visual Basic,可以閱讀Bryan Newsome編著的《Visual Basic 2015入門經(jīng)典(第8版)》。同樣,如果希望有一本關于C#的好書,可以閱讀Benjamin Perkins、Jacob Vibe Hammer和Jon D. Reid編著的《C#入門經(jīng)典(第7版)》。
一些章節(jié)討論了與Visual Studio一起使用的其他產(chǎn)品和工具,可以從網(wǎng)站下載免費版本或試用版本。
● Code Snippet Editor:這是一個第三方工具,用于在Visual Basic中創(chuàng)建代碼片段。Code Snippet Editor工具的詳情請參見第8章。
● SQL Server 2016:Visual Studio 2017的安裝包包含SQL Server 2016 Express,可構建使用數(shù)據(jù)庫文件的應用程序。但對于比較全面的企業(yè)解決方案而言,可使用SQL Server 2016。
● Visual Studio 2017企業(yè)版:一個更強大的Visual Studio版本,針對開發(fā)過程中的其他階段(如測試和設計)引入了工具。有關內(nèi)容請參見第38章和第39章。
● Team Foundation Server或Team Foundation Service:這個服務器產(chǎn)品(或基于云的產(chǎn)品)提供了Visual Studio 2017中的應用程序生命周期管理功能,參見第40章。
● Windows 7、Windows 8或Windows 10:Visual Studio 2017與Windows 7 SP1、Windows 8.1或Windows 10兼容,可以生成在Windows XP、Windows Vista、Windows 7、Windows 8和Windows 10上運行的應用程序。
勘誤表
盡管我們已經(jīng)盡了各種努力來保證書中不出現(xiàn)錯誤,但錯誤總是難免的,如果你在《Visual Studio 2017高級編程(第7版)》中找到了錯誤,例如拼寫錯誤或代碼錯誤,請告訴我們,我們將非常感激。通過勘誤表,可以讓其他讀者避免被誤導,當然,這還有助于提供更高質(zhì)量的信息。
請給wkservice@vip.163.com發(fā)電子郵件,我們就會檢查你的信息,如果是正確的,我們將在《Visual Studio 2017高級編程(第7版)》的后續(xù)版本中采用。
要在網(wǎng)站上找到《Visual Studio 2017高級編程(第7版)》的勘誤表,可以登錄http://www.wrox.com,通過Search工具或書名列表查找《Visual Studio 2017高級編程(第7版)》,然后在《Visual Studio 2017高級編程(第7版)》的細目頁面上,單擊Book Errata鏈接。在這個頁面上可以查看到Wrox編輯已提交和粘貼的所有勘誤項。完整的圖書列表還包括每《Visual Studio 2017高級編程(第7版)》的勘誤表,網(wǎng)址是www.wrox.com/misc-pages/booklist.shtml。
p2p.wrox.com
要與作者和同行討論,請加入p2p.wrox.com上的P2P論壇。這個論壇是一個基于Web的系統(tǒng),便于你張貼與Wrox圖書相關的消息和相關技術,與其他讀者和技術用戶交流心得。該論壇提供了訂閱功能,當論壇上有新的消息時,它可以給你傳送感興趣的論題。Wrox作者、編輯和其他業(yè)界專家和讀者都會到這個論壇上來探討問題。
在http://p2p.wrox.com上,有許多不同的論壇,它們不僅有助于閱讀《Visual Studio 2017高級編程(第7版)》,還有助于開發(fā)自己的應用程序。要加入論壇,可以遵循下面的步驟:
(1) 進入p2p.wrox.com,單擊Register鏈接。
(2) 閱讀使用協(xié)議,并單擊Agree按鈕。
(3) 填寫加入該論壇所需的信息和自己希望提供的其他信息,單擊Submit按鈕。
(4) 你會收到一封電子郵件,其中的信息描述了如何驗證賬戶,完成加入過程。
加入論壇后,就可以張貼新消息,響應其他用戶張貼的消息。可以隨時在Web上閱讀消息。如果要讓該網(wǎng)站給自己發(fā)送特定論壇中的消息,可以單擊論壇列表中該論壇名旁邊的Subscribe to this Forum圖標。
關于使用Wrox P2P的更多信息,可閱讀P2P FAQ,了解論壇軟件的工作情況以及P2P和Wrox圖書的許多常見問題。要閱讀FAQ,可以在任意P2P頁面上單擊FAQ鏈接。
源代碼
讀者在學習《Visual Studio 2017高級編程(第7版)》中的示例時,可以手動輸入所有的代碼,也可以使用《Visual Studio 2017高級編程(第7版)》附帶的源代碼文件。《Visual Studio 2017高級編程(第7版)》使用的所有源代碼都可以從《Visual Studio 2017高級編程(第7版)》合作站點http://www.wrox.com/或www.tupwk.com.cn/downpage下載。登錄到站點http://www.wrox.com/,使用Search工具或使用書名列表就可以找到《Visual Studio 2017高級編程(第7版)》。接著單擊《Visual Studio 2017高級編程(第7版)》細目頁面上的Download Code鏈接,就可以獲得所有源代碼。另外,也可掃描封底的二維碼下載資料。
下載了代碼后,只需要用自己喜歡的解壓縮軟件對它進行解壓縮即可。另外,也可以進入http://www.wrox. com/dynamic/books/download.aspx上的Wrox代碼下載主頁,查看《Visual Studio 2017高級編程(第7版)》和其他Wrox圖書的所有代碼。
Bruce Johnson是ObjectSharp咨詢公司的一位合作伙伴,在計算機界具有30年的工作經(jīng)驗。他的前三個職業(yè)是從事具體工作,即在UNIX上編程。但他在20年的時間內(nèi)處理的項目所使用的都是Windows前沿技術,從C 、Visual Basic、C#、胖客戶端應用程序、Web應用程序、API乃至各種數(shù)據(jù)庫和前端開發(fā)。
除了喜歡建立系統(tǒng)之外,Bruce還在北美會議上和用戶組中發(fā)言數(shù)百次。他是Microsoft Certified Trainer(MCT),是.NET User Group Metro Toronto的副組長。他還為許多雜志撰寫專欄和文章。由于所有這些成就,Bruce在過去10年中一直是Microsoft MVP。目前他在撰寫新書。
目 錄
第Ⅰ部分 集成開發(fā)環(huán)境
第1章 快速入門 3
1.1 入門 3
1.1.1 安裝Visual Studio 2017 3
1.1.2 運行Visual Studio 2017 7
1.1.3 Visual Studio真的支持云嗎? 7
1.2 Visual Studio IDE 8
1.3 小結(jié) 13
第2章 Solution Explorer、Toolbox
和Properties窗口 15
2.1 Solution Explorer窗口 15
2.1.1 預覽文件 18
2.1.2 常見任務 18
2.2 Toolbox窗口 26
2.2.1 排列組件 27
2.2.2 添加組件 28
2.3 Properties窗口 29
2.4 小結(jié) 33
第3章 選項和定制 35
3.1 Start Page 35
3.2 窗口布局 36
3.2.1 查看窗口和工具欄 36
3.2.2 停靠 37
3.2.3 保存窗口布局 39
3.3 編輯區(qū)域 40
3.3.1 瀏覽打開的項 41
3.3.2 字體和顏色 42
3.3.3 可視化指南 42
3.3.4 全屏模式 43
3.3.5 跟蹤變化 44
3.4 其他選項 44
3.4.1 快捷鍵 44
3.4.2 快速啟動 45
3.4.3 項目和解決方案 46
3.4.4 Build and Run界面 47
3.4.5 VB選項 48
3.5 導入和導出設置 48
3.6 小結(jié) 50
第4章 Visual Studio工作區(qū) 51
4.1 代碼編輯器 51
4.1.1 代碼編輯器窗口的布局 51
4.1.2 區(qū)域 52
4.1.3 大綱 53
4.1.4 代碼的格式化 53
4.1.5 向前/向后瀏覽 54
4.1.6 其他代碼編輯器功能 54
4.1.7 拆分視圖 55
4.1.8 代碼窗口的分離(浮動) 55
4.1.9 復制Solution Explorer 56
4.1.10 創(chuàng)建選項卡組 57
4.1.11 高級功能 58
4.2 代碼導航 59
4.2.1 Peek Definition 59
4.2.2 增強的滾動條 60
4.3 命令窗口 63
4.4 Immediate窗口 64
4.5 Class View工具窗口 64
4.6 Error List窗口 65
4.7 Object Browser窗口 65
4.8 小結(jié) 66
第5章 查找和替換以及幫助 67
5.1 Quick Find與Quick Replace 67
5.1.1 Quick Find 67
5.1.2 Quick Replace 68
5.1.3 查找選項 68
5.1.4 Find and Replace選項 69
5.2 文件中查找/替換 69
5.2.1 文件中查找 69
5.2.2 查找對話框選項 70
5.2.3 正則表達式 70
5.2.4 結(jié)果窗口 72
5.2.5 文件中替換 72
5.3 訪問幫助 73
5.3.1 瀏覽和搜索幫助系統(tǒng) 73
5.3.2 配置幫助系統(tǒng) 74
5.4 小結(jié) 74
第Ⅱ部分 入門
第6章 解決方案、項目和項 77
6.1 解決方案的結(jié)構 77
6.2 解決方案文件的格式 78
6.3 解決方案的屬性 79
6.3.1 常規(guī)屬性 80
6.3.2 配置屬性 80
6.4 項目類型 81
6.5 項目文件格式 83
6.6 項目屬性 83
6.6.1 Application選項卡 83
6.6.2 Compile選項卡(僅用于Visual Basic) 86
6.6.3 Build選項卡(僅用于C#和F#) 87
6.6.4 Build Events選項卡(僅用于C#和F#) 88
6.6.5 Debug選項卡 88
6.6.6 References選項卡(僅用于Visual Basic) 89
6.6.7 Resources選項卡 90
6.6.8 Services選項卡 90
6.6.9 Settings選項卡 91
6.6.10 Reference Paths選項卡(僅用于
C#和F#) 91
6.6.11 Signing選項卡 92
6.6.12 My Extensions選項卡(僅用于
Visual Basic) 92
6.6.13 Security選項卡 93
6.6.14 Publish選項卡 93
6.6.15 Code Analysis選項卡 94
6.7 C/C Code Analysis工具 95
6.8 Web應用程序項目屬性 96
6.8.1 Web選項卡 96
6.8.2 Package/Publish Web選項卡 96
6.8.3 Package/Publish SQL選項卡 97
6.9 Web Site項目 97
6.10 NuGet包 98
6.10.1 NuGet包管理器 98
6.10.2 Package Manager Console 99
6.11 小結(jié) 99
第7章 IntelliSense和書簽 101
7.1 對IntelliSense的解釋 101
7.1.1 通用的IntelliSense 102
7.1.2 IntelliSense和C 103
7.1.3 單詞和短語的自動完成 103
7.1.4 參數(shù)信息 107
7.1.5 快速信息 108
7.2 JavaScript IntelliSense 108
7.2.1 JavaScript IntelliSense上下文 108
7.2.2 引用另一個JavaScript文件 109
7.3 XAML IntelliSense 110
7.4 IntelliSense選項 110
7.4.1 通用選項 110
7.4.2 C#的特定選項 111
7.5 擴展IntelliSense 112
7.5.1 代碼片段 112
7.5.2 XML注釋 112
7.5.3 添加自己的IntelliSense 112
7.6 書簽和Bookmarks窗口 113
7.7 小結(jié) 114
第8章 代碼片段和重構 115
8.1 代碼片段概述 115
8.1.1 在Toolbox中存儲代碼塊 115
8.1.2 代碼片段 116
8.1.3 使用C#中的代碼片段 116
8.1.4 VB中的代碼片段 117
8.1.5 用代碼片段進行封裝 117
8.1.6 Code Snippets Manager 118
8.1.7 創(chuàng)建代碼片段 119
8.1.8 查看已有的代碼片段 119
8.1.9 分布代碼段 122
8.2 訪問重構支持 123
8.3 重構操作 123
8.3.1 Extract Method重構操作 123
8.3.2 Encapsulate Field重構操作 124
8.3.3 Extract Interface重構操作 124
8.3.4 Change Signature重構操作 125
8.3.5 Inline和Explaining Variables重構操作 125
8.3.6 Rename重構操作 126
8.3.7 Simplify Object Initialization重構操作 126
8.3.8 Inline Variable Declarations重構操作 127
8.3.9 UsethrowExpression重構操作 127
8.3.10 Generate Method Stub重構操作 128
8.3.11 Remove and Sort Usings重構操作 129
8.4 小結(jié) 129
第9章 Server Explorer 131
9.1 Servers連接 131
9.1.1 Event Logs節(jié)點 132
9.1.2 Message Queues節(jié)點 133
9.1.3 Performance Counters節(jié)點 135
9.1.4 Services節(jié)點 137
9.2 Data Connections節(jié)點 138
9.3 SharePoint Connections節(jié)點 138
9.4 小結(jié) 138
第Ⅲ部分 進階
第10章 單元測試 141
10.1 第一個測試用例 141
10.1.1 使用特性標識測試 145
10.1.2 其他測試特性 145
10.1.3 單元測試和Code Lens 147
10.2 指定判斷條件 148
10.2.1 Assert類 148
10.2.2 StringAssert類 149
10.2.3 CollectionAssert類 149
10.2.4 ExpectedException特性 149
10.3 初始化和清理 150
10.3.1 TestInitialize和TestCleanup特性 151
10.3.2 ClassInitialize和ClassCleanup特性 151
10.3.3 AssemblyInitialize和AssemblyCleanup
特性 151
10.4 測試環(huán)境 151
10.4.1 數(shù)據(jù) 152
10.4.2 輸出測試結(jié)果 154
10.5 Live Unit Testing 154
10.6 高級單元測試 155
10.6.1 定制屬性 155
10.6.2 測試私有成員 156
10.7 IntelliTest 157
10.8 小結(jié) 159
第11章 項目模板和項模板 161
11.1 創(chuàng)建模板 161
11.1.1 項模板 161
11.1.2 項目模板 164
11.1.3 模板結(jié)構 164
11.1.4 模板參數(shù) 165
11.1.5 模板位置 166
11.2 擴展模板 166
11.2.1 模板項目的安裝 166
11.2.2 IWizard 166
11.2.3 生成擴展項目模板 170
11.3 Starter Kit 171
11.4 聯(lián)機模板 171
11.5 小結(jié) 172
第12章 管理源代碼 173
12.1 源控制 173
12.1.1 選擇源控制存儲庫 173
12.1.2 訪問源控制 174
12.2 小結(jié) 177
第Ⅳ部分 桌面應用程序
第13章 Windows Form應用程序 181
13.1 入門 181
13.2 Windows窗體 182
13.2.1 Appearance屬性 182
13.2.2 Layout屬性 183
13.2.3 Window Style屬性 183
13.3 窗體設計首選項 183
13.4 添加和定位控件 184
13.4.1 垂直對齊文本控件 185
13.4.2 自動定位多個控件 185
13.4.3 控件的Tab鍵順序和分層 186
13.4.4 鎖定控件設計 187
13.4.5 設置控件屬性 187
13.4.6 基于服務的組件 188
13.4.7 智能標記任務 188
13.5 容器控件 188
13.5.1 Panel和SplitContainer控件 189
13.5.2 FlowLayoutPanel控件 189
13.5.3 TableLayoutPanel控件 190
13.6 停靠和錨定控件 190
13.7 小結(jié) 191
第14章 Windows Presentation Foundation
(WPF) 193
14.1 WPF介紹 193
14.2 開始使用WPF 194
14.2.1 XAML基礎 195
14.2.2 WPF控件 196
14.2.3 WPF布局控件 197
14.3 WPF設計器和XAML編輯器 198
14.3.1 使用XAML編輯器 200
14.3.2 使用WPF設計器 200
14.3.3 Properties工具窗口 202
14.3.4 數(shù)據(jù)綁定功能 205
14.4 設置應用程序的樣式 208
14.5 Windows Forms的交互操作性 210
14.5.1 在Windows Forms中駐留WPF
控件 210
14.5.2 在WPF中駐留Windows Forms
控件 211
14.6 用WPF Visualizer調(diào)試 213
14.7 小結(jié) 214
第15章 通用Windows平臺應用程序 215
15.1 Windows應用程序的定義 215
15.1.1 呈現(xiàn)內(nèi)容 216
15.1.2 對齊和縮放 216
15.1.3 語義式縮放 217
15.1.4 磁貼 217
15.1.5 接受云 217
15.2 創(chuàng)建Windows應用程序 217
15.3 Windows運行庫組件 222
15.4 .NET Native編譯 222
15.5 小結(jié) 224
第Ⅴ部分 Web應用程序
第16章 ASP.NET Web窗體 227
16.1 Web Application項目和Web Site項目 227
16.2 創(chuàng)建Web項目 228
16.2.1 創(chuàng)建Web Site項目 228
16.2.2 創(chuàng)建Web Application項目 230
16.3 設計Web窗體 233
16.3.1 HTML Designer 233
16.3.2 定位控件和HTML元素 234
16.3.3 格式化控件和HTML元素 235
16.3.4 CSS工具 237
16.3.5 驗證工具 239
16.4 Web控件 240
16.4.1 導航組件 240
16.4.2 用戶身份驗證 240
16.4.3 數(shù)據(jù)組件 241
16.5 主頁面 243
16.6 富客戶端開發(fā) 245
16.6.1 用JavaScript開發(fā) 245
16.6.2 使用ASP.NET AJAX 246
16.7 小結(jié) 248
第17章 ASP.NET MVC 249
17.1 Model-View-Controller 249
17.2 開始使用ASP.NET MVC 250
17.3 選擇Model 252
17.4 Controller和action方法 253
17.5 用View顯示UI 255
17.6 高級MVC 261
17.6.1 路由 261
17.6.2 action方法參數(shù) 264
17.6.3 區(qū)域 266
17.6.4 驗證 268
17.6.5 部分View 269
17.6.6 Dynamic Data模板 270
17.6.7 jQuery 272
17.7 小結(jié) 273
第18章 .NET Core 275
18.1 .NET Core的定義 275
18.2 使用ASP.NET Core 276
18.2.1 project.json和csproj 277
18.2.2 創(chuàng)建ASP.NET Core應用程序 277
18.3 NuGet包管理器 280
18.4 Bower包管理器 283
18.5 小結(jié) 285
第19章 Node.js開發(fā) 287
19.1 開始使用Node.js 287
19.2 Node Package Manager 291
19.3 Task Runner Explorer 294
19.4 小結(jié) 296
第20章 Python開發(fā) 297
20.1 Python入門 297
20.2 Cookiecutter擴展 301
20.3 小結(jié) 302
第Ⅵ部分 移動應用程序
第21章 使用.NET的移動應用程序 305
21.1 使用Xamarin 305
21.2 創(chuàng)建Xamarin Forms項目 306
21.3 調(diào)試應用程序 308
21.3.1 通用Windows平臺 308
21.3.2 Android 308
21.3.3 iOS 316
21.4 小結(jié) 318
第22章 使用JavaScript的移動應用程序 319
22.1 Apache Cordova的概念 319
22.2 創(chuàng)建Apache Cordova項目 320
22.2.1 merges文件夾 321
22.2.2 plugins文件夾 321
22.2.3 www文件夾 322
22.2.4 其他文件和文件夾 322
22.3 在Apache Cordova中調(diào)試 325
22.4 小結(jié) 327
第Ⅶ部分 云服務
第23章 Windows Azure 331
23.1 Windows Azure平臺 331
23.1.1 Compute Emulator 333
23.1.2 角色之間的通信 333
23.1.3 應用程序部署 335
23.2 SQL Azure 337
23.3 Service Fabric 338
23.4 Azure移動服務 339
23.5 Azure虛擬機 340
23.5.1 連接性 340
23.5.2 端點 340
23.5.3 虛擬網(wǎng)絡 340
23.6 小結(jié) 341
第24章 同步服務 343
24.1 偶爾連接的應用程序 343
24.2 Server Direct 344
24.3 同步服務入門 346
24.4 N層上的同步服務 349
24.5 小結(jié) 350
第25章 SharePoint 351
25.1 SharePoint執(zhí)行模型 351
25.1.1 場解決方案 351
25.1.2 沙箱解決方案 352
25.1.3 應用程序模型 352
25.2 準備開發(fā)環(huán)境 352
25.3 創(chuàng)建SharePoint項目 354
25.4 運行應用程序 359
25.5 小結(jié) 361
第Ⅷ部分 數(shù)據(jù)
第26章 可視化數(shù)據(jù)庫工具 365
26.1 Visual Studio 2017中的數(shù)據(jù)庫窗口 365
26.1.1 Server Explorer窗口 365
26.1.2 Data Sources窗口 368
26.1.3 SQL Server Object Explorer 369
26.2 編輯數(shù)據(jù) 369
26.3 Redgate數(shù)據(jù)工具 370
26.3.1 ReadyRoll Core 370
26.3.2 SQL Prompt Core 373
26.3.3 SQL Search 374
26.4 小結(jié) 375
第27章 ADO.NET Entity Framework 377
27.1 什么是Entity Framework 377
27.2 入門 378
27.3 創(chuàng)建實體模型 378
27.3.1 實體數(shù)據(jù)模型向?qū)?378
27.3.2 Entity Framework設計器 381
27.3.3 創(chuàng)建/修改實體 384
27.3.4 創(chuàng)建/修改實體關聯(lián) 386
27.3.5 實體繼承 387
27.3.6 驗證實體模型 387
27.3.7 根據(jù)數(shù)據(jù)庫的修改來更新實體模型 387
27.4 查詢實體模型 387
27.4.1 LINQ to Entities概述 388
27.4.2 獲得對象上下文 388
27.4.3 CRUD操作 388
27.4.4 導航實體關聯(lián) 391
27.5 高級功能 392
27.5.1 從實體模型更新數(shù)據(jù)庫 392
27.5.2 給實體添加業(yè)務邏輯 393
27.5.3 POCO 393
27.5.4 Entity Framework Core 393
27.6 小結(jié) 393
第28章 數(shù)據(jù)倉庫和數(shù)據(jù)湖 395
28.1 Apache Hadoop的概念 395
28.1.1 Hadoop分布式文件系統(tǒng) 395
28.1.2 MapReduce 396
28.1.3 其他組件 396
28.1.4 HDInsight 396
28.1.5 Azure數(shù)據(jù)湖 396
28.2 Visual Studio的數(shù)據(jù)湖工具 397
28.2.1 創(chuàng)建Hive應用程序 398
28.2.2 創(chuàng)建Pig應用程序 400
28.3 小結(jié) 403
第29章 數(shù)據(jù)科學和分析 405
29.1 R的概念 405
29.2 R Tools For Visual Studio 405
29.2.1 調(diào)試R腳本 407
29.2.2 工作區(qū) 409
29.2.3 繪圖窗口 410
29.3 小結(jié) 411
第Ⅸ部分 調(diào)試
第30章 使用調(diào)試窗口 415
30.1 代碼窗口 415
30.1.1 斷點 415
30.1.2 數(shù)據(jù)提示 415
30.2 Breakpoints窗口 416
30.3 Output窗口 416
30.4 Immediate窗口 417
30.5 Watch窗口 418
30.5.1 QuickWatch窗口 418
30.5.2 Watch 1-4窗口 419
30.5.3 Autos窗口和Locals窗口 419
30.6 代碼執(zhí)行窗口 419
30.6.1 Call Stack窗口 419
30.6.2 Threads窗口 420
30.6.3 Modules窗口 420
30.6.4 Processes窗口 420
30.7 Memory窗口 421
30.7.1 Memory 1-4窗口 421
30.7.2 Disassembly窗口 421
30.7.3 Registers窗口 422
30.8 并行調(diào)試窗口 422
30.8.1 Parallel Stacks窗口 423
30.8.2 Parallel Tasks窗口 424
30.9 Exceptions窗口 425
30.10 小結(jié) 426
第31章 斷點調(diào)試 427
31.1 斷點 427
31.1.1 設置斷點 427
31.1.2 添加中斷條件 428
31.1.3 斷點操作 430
31.2 跟蹤點 431
31.3 執(zhí)行控制 432
31.3.1 單步執(zhí)行代碼 432
31.3.2 Run to Cursor功能 433
31.3.3 移動執(zhí)行點 434
31.4 Edit and Continue功能 434
31.4.1 原始編輯 434
31.4.2 停止應用修改 434
31.5 小結(jié) 434
第Ⅹ部分 構建和部署
第32章 升級到Visual Studio 2017 437
32.1 從最近的Visual Studio 版本升級 437
32.2 升級到.NET Framework 4.6.2 439
32.3 小結(jié) 440
第33章 定制構建 441
33.1 通用構建選項 441
33.2 手動配置依賴關系 443
33.3 Visual Basic編譯頁面 444
33.3.1 高級編譯器設置 444
33.3.2 構建事件 445
33.4 C#構建頁面 446
33.5 MSBuild 448
33.5.1 Visual Studio使用MSBuild的方式 448
33.5.2 MSBuild模式 450
33.5.3 通過MSBuild任務設置程序集的
版本 451
33.6 小結(jié) 452
第34章 模糊處理、應用程序監(jiān)控和管理 453
34.1 IL反編譯器 453
34.2 反編譯器 454
34.3 模糊處理代碼 455
34.3.1 Dotfuscator 455
34.3.2 模糊處理特性 459
34.3.3 警告 460
34.4 應用程序監(jiān)控和管理 462
34.4.1 防篡改功能 462
34.4.2 應用程序檢測和分析功能 463
34.5 小結(jié) 464
第35章 打包和部署 465
35.1 Windows Installer XML工具集 465
35.1.1 構建安裝程序 466
35.1.2 使用Heat創(chuàng)建片段 468
35.1.3 服務安裝程序 470
35.2 ClickOnce技術 470
35.2.1 部署 471
35.2.2 升級 473
35.3 小結(jié) 474
第36章 Web應用程序的部署 475
36.1 Web部署 475
36.1.1 發(fā)布Web應用程序 475
36.1.2 發(fā)布到Azure 477
36.2 Web項目安裝程序 479
36.3 Web Platform Installer 480
36.4 小結(jié) 483
第37章 持續(xù)交付 485
37.1 定義術語 485
37.1.1 持續(xù)交付 485
37.1.2 持續(xù)集成 486
37.1.3 DevOps 486
37.2 持續(xù)交付工具 486
37.2.1 設置持續(xù)交付 487
37.2.2 Heads Up Code Analysis 488
37.2.3 自動構建通知 489
37.3 小結(jié) 491
第Ⅺ部分 Visual Studio版本
第38章 Visual Studio Enterprise:代碼質(zhì)量 495
38.1 依賴驗證 495
38.2 使用Code Map研究代碼 499
38.3 代碼克隆 500
38.4 小結(jié) 500
第39章 Visual Studio Enterprise:測試和
調(diào)試 501
39.1 自動測試 501
39.1.1 Web性能測試 501
39.1.2 負載測試 503
39.1.3 編碼UI測試 505
39.1.4 一般測試 506
39.1.5 有序測試 506
39.2 IntelliTrace 506
39.3 IntelliTest 509
39.4 小結(jié) 510
第40章 Visual Studio Team Service 511
40.1 Git入門 511
40.2 版本控制 513
40.2.1 提交 514
40.2.2 分支 514
40.2.3 同步 515
40.3 工作項跟蹤 515
40.3.1 工作項查詢 516
40.3.2 工作項類型 517
40.3.3 添加工作項 517
40.3.4 工作項狀態(tài) 518
40.4 Build 518
40.5 門戶網(wǎng)站 519
40.6 小結(jié) 519