內容簡介
VisualStudio2005是一款龐大的產品,它添加了VisualBasic和C#中的最新功能以及用戶界面的新特性和改進。要想充分地利用它的功能,還需要一本權威的參考書來做指導,本書正是為此目的而編寫。通過本書,您將開始領略這個傑出的開發工具的每一個特點。首先,本書將引導您熟悉IDE結構和布局、各種選項和設定,以及VisualStudio2005的其他核心內容。接著,將向您逐一展示構成VisualStudio2005功能的9個主要部分。由於各章都緊密聯繫,因此您除了對所有特點有一個完整的了解外,還將學會如何結合所有方面以實現一個最有效的編程環境。
本書主要內容:
編輯應用程式配置檔案和XML資源檔案
自動化XML文檔和使用大綱模式查看代碼
部署最佳的安全性能
使用智慧型感知,將代碼區域化以及標記代碼片段
測試、調試代碼及資料庫的有效方法
使用能提高效率的正則表達式、第三方外掛程式和Microsoft擴展等工具
本書適用於VisualStudio初學者和想了解一些額外特性的有經驗的開發人員。讀者需具備一定的編程基礎並熟悉C#或VisualBasic語言。
作者簡介
AndrewParsons是一名多才多藝的程式設計師、記者和作者。他創辦、發行了AustralianDeveloper雜誌,並擔任該雜誌的總編。該雜誌獲得了巨大的成功,以至於它在全球範圍內擴展,最終發展成為現在的InternationalDeveloper。隨後,Parsons又推出了澳大利亞和紐西蘭本地版的MSDN雜誌。此外,他還編寫了各種各樣的技術書籍,內容涉及HTML、CSS、Photoshop和VisualBasicExpress等。在寫作之外的時間裡,Parsons為許多用戶提供了.NET編程實現方面的諮詢,他目前擔任ReadifyPty,Ltd的高級顧問。與此同時,他還努力地經營自己的業務——ParsonscDesigns和cGAMEparentsc並通過這些網站來幫助家長了解和享受電腦和電子遊戲。
NickRandolph是一位經驗豐富的.NET開發員和解決方案架構師。他在澳大利亞一家非營利機構擔任軟體工程師時,創辦了Perth.NETCommunityofPractice並全面參與當地的.NET社區至今。後來,Nick加入AutumnCare並擔任開發部經理,他負責產品的結構,該結構整合了一些有關使用.NETcFramework構建智慧型客戶端應用程式的最佳實踐.aNick目前擔任SoftTeq的解決方案架構師,該公司提供諮詢。培訓和指導服務。作為MicrosoftMVP的一員,Nick已多次被應邀出席各種IT會議,如TechEd.MEDC和CodeCamp,並在過去的兩年里一直擔任微軟創新杯決賽的評審。
目錄
第Ⅰ部分集成開發環境.
第1章IDE快速入門3
1.1配置VS20053
1.2IDE結構5
1.2.1熟悉IDE的結構6
1.2.2基本布局7
1.3其他視窗12
1.4小結13
第2章Options視窗15
2.1Options視窗15
2.2環境選項16
2.2.1文檔設定17
2.2.2字型和顏色17
2.2.3快捷鍵19
2.2.4任務列表20
2.3項目和解決方案21
2.3.1BuildandRun頁面22
2.3.2OptionStrict23
2.4TextEditor頁面23
2.5Debugging頁面24
2.6小結27
第3章工具箱29
3.1Toolbox視窗29
3.2安排組件31
3.3添加組件33
3.4常用組件34
3.5小結37
第4章SolutionExplorer視窗39
4.1SolutionExplorer視窗的結構39
4.2顯示隱藏元素40
4.3臨時解決方案41
4.4Web解決方案42
4.5項目和解決方案的常規操作43
4.5.1添加Windows引用44
4.5.2添加Web引用45
4.5.3設定解決方案屬性46
4.6小結47
第5章定製IDE49
5.1定製工具視窗49
5.1.1工具視窗概述49
5.1.2移動工具視窗51
5.2導入導出IDE設定54
5.3分割工作區56
5.4小結57
第6章窗體設計59
6.1窗體59
6.2窗體設計偏好62
6.3為窗體添加控制項63
6.3.1控制項引導線64
6.3.2垂直對齊文本控制項65
6.3.3自動格式化多個控制項66
6.3.4鎖定控制項設計68
6.3.5設定控制項屬性68
6.3.6基於服務的控制項70
6.3.7智慧型標籤技術70
6.3.8其他命令71
6.4容器控制項72
6.4.1Panel控制項和SplitContainer控制項72
6.4.2FlowLayoutPanel控制項73
6.4.3TableLayoutPanel控制項73
6.5小結74
第Ⅱ部分項目和解決方案設計
第7章項目和解決方案77
7.1解決方案的結構77
7.2解決方案檔案的格式79
7.3解決方案的屬性79
7.4配置屬性81
7.5項目類型82
7.6項目檔案的格式82
7.7項目的屬性82
7.7.1Application標籤83
7.7.2Compile標籤86
7.7.3Debug標籤87
7.8自定義設定提供程式93
7.9小結95
第8章源控制97
8.1選擇源控制倉庫97
8.1.1環境設定98
8.1.2Plug-InSettings面板99
8.2使用源控制99
8.2.1創建倉庫99
8.2.2添加解決方案100
8.2.3SolutionExplorer視窗101
8.2.4登入登出101
8.2.5掛起更改102
8.2.6合併更改103
8.2.7歷史記錄104
8.2.8固定104
8.3TeamFoundation源控制104
8.3.1SourceControlExplorer105
8.3.2掛起更改105
8.3.3Shelving107
8.4小結108
第9章應用程式配置檔案109
9.1配置檔案109
9.1.1machine.config109
9.1.2web.config109
9.1.3app.config110
9.1.4security.config110
9.2配置架構110
9.2.1配置屬性110
9.2.2startup區域111
9.2.3runtime區域112
9.2.4system.runtime.remoting區域112
9.2.5system.net區域113
9.2.6cryptographySettings區域113
9.2.7configurationSections區域113
9.2.8systemm.diagnostics區域114
9.2.9system.web區域115
9.2.10webserver區域115
9.2.11compiler區域115
9.3應用程式設定116
9.3.1appSettings區域116
9.3.2動態屬性116
9.3.3自定義配置區域117
9.4使用SCDL實現自動化119
9.5小結121
第10章XML資源檔案123
10.1為應用程式提供資源123
10.2什麼是資源?125
10.2.1文本檔案125
10.2.2XML資源檔案126
10.2.3添加資源127
10.2.4嵌入檔案作為資源128
10.2.5訪問資源128
10.2.6資源命名128
10.3衛星資源128
10.3.1文化129
10.3.2創建文化資源129
10.3.3載入文化資源檔案130
10.3.4衛星文化資源130
10.4訪問細節131
10.4.1My命名空間131
10.4.2載入點陣圖和圖示131
10.4.3ComponentResourceManager對象131
10.5編碼資源檔案132
10.6自定義資源134
10.7小結139
第Ⅲ部分歸檔和搜尋
第11章幫助143
11.1訪問幫助143
11.1.1文檔瀏覽器145
11.1.2動態幫助146
11.2搜尋窗口(Search)148
11.2.1排序結果149
11.2.2過濾結果149
11.3保存常用主題150
11.4定製幫助功能151
11.5AskaQuestion命令151
11.6小結152
第12章XML注釋153
12.1XML注釋153
12.2添加XML注釋154
12.3XML注釋標籤154
12.3.1標籤155
12.3.2標籤155
12.3.3標籤156
12.3.4標籤157
12.3.5標籤158
12.3.6標籤160
12.3.7標籤161
12.3.8標籤161
12.3.9標籤162
12.3.10標籤163
12.3.11標籤163
12.3.12標籤163
12.3.13標籤164
12.3.14標籤164
12.3.15標籤166
12.3.16標籤166
12.3.17標籤166
12.4使用XML注釋166
12.5小結168
第13章控制項與文檔大綱169
13.1文檔大綱169
13.2控制項大綱171
13.3控制項大綱模式下的其他命令172
13.4小結173
第Ⅳ部分安全和建模
第14章代碼生成技術177
14.1類設計器177
14.1.1設計界面178
14.1.2工具箱178
14.1.3類的細節180
14.1.4屬性視窗181
14.1.5布局182
14.1.6導出類圖182
14.2其他的代碼生成技巧182
14.2.1代碼片斷183
14.2.2重組183
14.2.3項目和元素模板184
14.2.4強類型數據集184
14.2.5窗體185
14.2.6My命名空間186
14.3類設計器的使用187
14.3.1類圖架構188
14.3.2IntelliSense對代碼生成的支持189
14.4對象測試工具189
14.4.1調用靜態方法189
14.4.2實例化實體190
14.4.3訪問欄位和屬性191
14.4.4調用實例方法191
14.5小結192
第15章安全相關的概念193
15.1應用程式安全193
15.1.1基於代碼的安全193
15.1.2基於角色的安全195
15.2小結197
第16章密碼技術199
16.1基本原則199
16.2技術199
16.2.1哈希199
16.2.2對稱(秘密)密鑰200
16.2.3非對稱(公/私)密鑰200
16.2.4簽名201
16.2.5目標的總結201
16.3套用密碼技術202
16.3.1創建非對稱密鑰對202
16.3.2創建對稱密鑰204
16.3.3加密和給密鑰簽名205
16.3.4驗證密鑰和簽名207
16.3.5解密對稱密鑰209
16.3.6傳送訊息210
16.3.7接收訊息212
16.4其他214
16.4.1SecureString類214
16.4.2密鑰容器216
16.5小結217
第17章混淆219
17.1MSIL反彙編器219
17.2反編譯器220
17.3混淆您的代碼221
17.3.1Dotfuscator222
17.3.2警告的話224
17.4屬性227
17.4.1ObfuscationAssembly屬性227
17.4.2Obfuscation屬性227
17.5小結229
第Ⅴ部分編碼
第18章智慧型感知233
18.1智慧型感知的解釋233
18.1.1通用的智慧型感知234
18.1.2單詞和短語的自動完成235
18.1.3參數信息237
18.1.4快速信息238
18.2智慧型感知選項238
18.2.1通用選項238
18.2.2C#和J#的特定選項240
18.3擴展智慧型感知240
18.3.1代碼片段240
18.3.2XML注釋241
18.3.3添加您自己的智慧型感知241
18.4小結241
第19章代碼片段243
19.1代碼片段概述243
19.1.1基本代碼片段243
19.1.2“真正的”代碼片段244
19.1.3VisualBasic代碼片段244
19.1.4C#和J#代碼片段247
19.1.5創建代碼片段248
19.1.6代碼片段管理器254
19.1.7VB代碼片段編輯器255
19.2小結260
第20章代碼區域和書籤261
20.1代碼區域261
20.1.1創建代碼區域262
20.1.2使用代碼區域263
20.1.3自動大綱功能263
20.2可視化指示器265
20.2.1彩色編碼265
20.2.2邊界圖示265
20.3書籤和Bookmarks視窗266
20.4小結268
第21章代碼重組269
21.1訪問重組支持269
21.1.1C#--VisualStudio2005270
21.1.2VB.NET--Refactor!270
21.2重組操作271
21.2.1抽取方法(ExtractMethod)271
21.2.2封裝欄位(EncapsulateField)273
21.2.3抽取接口(ExtractInterface)274
21.2.4重新排列參數(ReorderParameters)276
21.2.5刪除參數(RemoveParameters)276
21.2.6重命名(Rename)277
21.2.7把變數轉換為參數(PromotetoParameter)278
21.2.8產生方法框架(GenerateMethodStub)278
21.2.9用代碼段進行封裝(SurroundwithSnippet)279
21.3小結..279
第22章泛型、Nullable類型和Partial類型281
22.1泛型281
22.1.1使用282
22.1.2創建282
22.1.3約束284
22.2Nullable類型285
22.3Partial類型287
22.4運算符重載288
22.4.1運算符288
22.4.2類型轉換289
22.4.3為什麼靜態方法不好290
22.5預定義的代理292
22.5.1Action代理292
22.5.2Comparison代理292
22.5.3Converter代理293
22.5.4Predicate代理294
22.5.5EventHandler代理294
22.6屬性訪問限制296
22.7自定義事件297
22.8小結298
第23章語言相關特性299
23.1C#299
23.1.1匿名方法299
23.1.2疊代器300
23.1.3靜態類301
23.2命名衝突302
23.2.1命名空間別名限定符303
23.2.2Global標識符304
23.2.3Extern別名304
23.3Pragma語句305
23.4VB.NET306
23.4.1Continue語句306
23.4.2IsNot語句307
23.4.3Global語句307
23.4.4TryCast語句307
23.5小結308
第24章My命名空間309
24.1什麼是My命名空間?309
24.2My的組成310
24.3My的使用311
24.3.1C#311
24.3.2My的環境312
24.3.3默認實例314
24.4My.Application315
24.5My.Computer316
24.4.1My.Computer.Audio316
24.4.2My.Computer.Clipboard316
24.4.3My.Computer.Clock317
24.4.4My.Computer.FileSystem317
24.4.5My.Computer.Info317
24.4.6My.Computer.Keyboard和My.Computer.Mouse318
24.4.7My.Computer.Network318
24.4.8My.Computer.Ports319
24.4.9My.Computer.Registry319
24.5My.Forms和My.WebServices319
24.6Web套用320
24.7My.Resources320
24.8其他的My類322
24.9小結322
第Ⅵ部分自動化
第25章代碼模板325
25.1創建模板325
25.2元素模板325
25.2.1項目模板328
25.2.2模板結構329
25.3擴展模板331
25.3.1模板項目設定331
25.3.2IWizard接口333
25.3.3Starter模板335
25.4小結338
第26章宏339
26.1宏管理器(MacroExplorer)339
26.2創建宏341
26.2.1錄製臨時宏341
26.2.2錄製的缺陷342
26.3VS宏編輯器343
26.4DTE對象344
26.5構建和部署347
26.6小結348
第27章連線字元串349
27.1數據源配置嚮導349
27.2SQLServer格式353
27.3代碼構建354
27.4加密連線字元串355
27.5小結357
第28章程式集簽名359
28.1強名程式集359
28.2全局程式集快取359
28.3對程式集進行簽名360
28.4小結361
第29章預先糾錯設定363
29.1智慧型編譯自動糾錯功能363
29.2自定義VisualBasic中的警告信息報告366
29.2.1默認設定下不會顯示的警告信息368
29.2.2可自定義的其他警告信息369
29.3自定義C#編譯環境下的警告信息372
29.4小結374
第30章強類型數據集375
30.1DataSet類概述375
30.2添加數據源376
30.3數據集設計器379
30.4數據源的使用382
30.4.1Web服務數據源383
30.4.2瀏覽數據384
30.5小結386
第31章數據綁定和對象數據源387
31.1數據綁定387
31.1.1BindingSource類388
31.1.2BindingNavigator類390
31.1.3選擇數據源392
31.1.4BindingSource鏈394
31.1.5保存更改399
31.1.6插入新記錄402
31.1.7驗證403
31.1.8DataGridView控制項411
31.2對象數據源412
31.3應用程式設定417
31.4小結418
第32章外掛程式419
32.1外掛程式管理器(Add-inManager)419
32.2外掛程式的類型420
32.3使用嚮導創建一個簡單的外掛程式420
32.4常用的類、對象和方法426
32.4.1IDTExtensibility2接口426
32.4.2IDTCommandTarget接口427
32.4.3AddNamedCommand2方法428
32.4.4CreateToolWindow2視窗430
32.4.5調試430
32.4.6註冊和部署430
32.5小結430
第33章第三方擴展431
33.1改善開發環境431
33.1.1CoolCommandsforVS2005431
33.1.2MZ-Tools432
33.2代碼輔助工具434
33.2.1ImportsSorter434
33.2.2CodeKeep435
33.3文檔437
33.4測試和調試438
33.4.1RegexVisualizer438
33.4.2TestDriven.Net439
33.5小結439
第34章入門套件441
34.1TheCardGame入門套件441
34.2TheScreensaver入門套件442
34.3TheMovieCollection入門套件443
34.4ThePersonalWebSite入門套件444
34.5創建入門套件445
34.6小結446
第Ⅶ部分其他的省時辦法
第35章工作區控制項449
35.1VS2005視窗449
35.1.1啟動頁面(StartPage)449
35.1.2代碼/設計器(Code/Designer)450
35.1.3解決方案瀏覽器(SolutionExplorer)450
35.1.4屬性(Properties)451
35.1.5工具箱(Toolbox)451
35.1.6伺服器瀏覽器(ServerExplorer)451
35.1.7錯誤列表(ErrorList)452
35.1.8對象瀏覽器(ObjectBrowser)453
35.1.9任務列表(TASKLIST)453
35.1.10類視圖(ClassView)453
35.1.11代碼定義(CodeDefinition)454
35.1.12輸出(Output)454
35.1.13搜尋結果(FindResults)455
35.1.14調用管理器(CallBrowser)455
35.1.15命令(Command)456
35.1.16文檔大綱(DocumentOutline)456
35.1.17對象測試(ObjectTestBench)456
35.1.18性能管理器(PerformanceExplorer)457
35.1.19屬性管理器(PropertyManager)457
35.1.20資源視圖(ResourceView)458
35.1.21歷史(History)458
35.1.22源控制瀏覽器(SourceControlExplorer)459
35.1.23更改掛起(PendingChanges)459
35.1.24宏瀏覽器(MacroExplorer)460
35.1.25網頁瀏覽器(WebBrowser)460
35.1.26團隊瀏覽器(TeamExplorer)461
35.1.27斷點(Breakpoints)461
35.1.28立即(Immediate)視窗461
35.1.29腳本瀏覽器(ScriptExplorer)462
35.1.30暫存器(Registers)462
35.1.31反編譯(Disassembly)462
35.1.32記憶體(Memory)463
35.1.33進程(Processes)463
35.1.34模組(Modules)463
35.1.35執行緒(Threads)464
35.1.36調用堆疊(CallStack)464
35.1.37監視視窗(Autos,Locals,andWatch)464
35.1.38代碼覆蓋(CodeCoverage)465
35.1.39測試結果(TestResults)465
35.1.40測試管理器(TestManager)465
35.1.41測試視圖(TestView)466
35.1.42團隊構建(TeamBuilds)466
35.1.43測試執行(TestRuns)467
35.1.44書籤(Bookmarks)467
35.1.45數據源(DataSources)467
35.2工作區導航468
35.2.1全螢幕模式468
35.2.2導航鍵468
35.3小結470
第36章查找和替換471
36.1查找與替換471
36.1.1快速查找472
36.1.2快速替換473
36.2檔案中查找475
36.2.1查找對話框選項476
36.2.2結果視窗477
36.3檔案中替換478
36.4增量搜尋480
36.5符號查找481
36.6小結482
第37章服務管理483
37.1Servers節點483
37.1.1EventLogs節點484
37.1.2ManagementClasses節點486
37.1.3ManagementEvents節點488
37.1.4MessageQueues節點491
37.1.5PerformanceCounters節點493
37.1.6Services節點496
37.2小結498
第38章可視化資料庫工具499
38.1VS2005中的資料庫視窗499
38.1.1ServerExplorer視窗500
38.1.2表502
38.1.3關係504
38.1.4視圖504
38.1.5存儲過程和函式505
38.1.6資料庫圖506
38.1.7DataSources視窗507
38.2使用資料庫510
38.2.1編輯數據源模式510
38.2.2數據綁定控制項512
38.2.3數據控制項514
38.3管理測試數據516
38.4預覽數據517
38.5資料庫項目517
38.5.1基於腳本的資料庫項目518
38.5.2基於託管代碼語言的資料庫項目519
38.6小結520
第39章正則表達式521
39.1正則表達式的使用場合521
39.1.1正則表達式編程522
39.1.2查找和替換522
39.1.3VisualStudioToolsforOffice智慧型標籤523
39.2正則表達式介紹524
39.3正則表達式語法525
39.4.NET編程中的正則表達式527
39.4.1Regex類527
39.4.2Match類528
39.4.3MatchCollection類529
39.4.4子串替換529
39.5小結530
第40章技巧、破解和調整531
40.1IDE捷徑531
40.1.1OpenWith對話框531
40.1.2活動檔案列表532
40.1.3更改字型尺寸533
40.1.4矩形框選擇操作534
40.1.5GoToFind組合框535
40.1.6強制重新格式化535
40.1.7字元串換行536
40.2註冊表破解536
40.2.1垂直準線536
40.2.2右擊新方案537
40.2.3關鍵字彩色編碼539
40.3其他技巧540
40.3.1禁止啟動時裝載外掛程式540
40.3.2多監視器下的布局540
40.4小結541
第41章創建Web程式543
41.1創建Web項目543
41.1.1動態編譯546
41.1.2Web服務546
41.1.3個人網站入門套件547
41.2Web開發選項547
41.2.1HTML文本編輯器選項548
41.2.2HTML設計器選項549
41.3Website選單549
41.4Web控制項550
41.4.1常規屬性設定551
41.4.2控制項552
41.4.3主/從頁面559
41.5配置和部署560
41.6站點管理562
41.6.1安全563
41.6.2應用程式設定565
41.6.3ASP.NET2.0配置565
41.7小結566
第42章Web技術進階567
42.1再探Web開發567
42.2網站地圖569
42.2.1Web.sitemap569
42.2.2SiteMapPath(網站地圖途徑)控制項571
42.2.3SiteMapResolve事件572
42.2.4Web選單控制項574
42.3WebParts控制項575
42.3.1WebPartManager組件576
42.3.2EditorZone578
42.3.3CatalogZone580
42.4小結582
第43章構建設備程式583
43.1基本知識583
43.2SolutionExplorer視窗585
43.3設計皮膚585
43.3.1方向586
43.3.2按鈕587
43.4Toolbox視窗587
43.4.1標準控制項588
43.4.2移動程式控制項588
43.5調試595
43.5.1模擬器595
43.5.2設備597
43.6設備模擬器管理器597
43.6.1連線598
43.6.2封裝598
43.7項目設定599
43.8設備選項600
43.9小結601
第44章高級設備應用程式編程603
44.1數據源(DataSource)603
44.1.1數據集(DataSet)605
44.1.2ResulSet614
44.2WindowsMobile5.0615
44.2.1SDK下載615
44.2.2託管API615
44.2.3NotificationBroker(增強系統通知)618
44.3部署619
44.3.1CAB檔案619
44.3.2MSI安裝包製作工具621
44.4OpenNetCF智慧型設備框架624
44.5小結625
第Ⅷ部分構建和部署
第45章升級到VisualStudio2005629
45.1升級過程630
45.1.1為升級做好準備630
45.1.2使用升級工程嚮導632
45.1.3檢查升級輸出634
45.2VisualBasic6升級工具638
45.3小結639
第46章自定義構建641
46.1通用構建選項641
46.1.1批構建644
46.1.2手工配置依賴關係644
46.2VisualBasic編譯頁面645
46.2.1高級編譯器設定646
46.2.2構建事件647
46.3C#構建頁面649
46.4MSBuild651
46.4.1VisualStudio怎樣使用MSBuild651
46.4.2MSBuild模式654
46.5小結656
第47章CLICKONCE和其他部署方法657
47.1安裝程式657
47.1.1構建安裝程式657
47.1.2定製安裝程式661
47.1.3添加自定義操作665
47.1.4安裝Web項目667
47.1.5安裝Windows服務668
47.2ClickOnce技術669
47.2.1部署670
47.2.2升級675
47.3其他技巧675
47.3.1XCopy工具676
47.3.2PublishWebsite對話框676
47.3.3CopyWebSite工具676
47.4小結677
第Ⅸ部分調試和測試
第48章調試視窗681
48.1代碼視窗681
48.1.1斷點681
48.1.2數據提示682
48.2Breakpoints視窗682
48.3Output視窗682
48.4Immediate視窗683
48.5ScriptExplorer視窗684
48.6監視視窗684
48.6.1QuickWatch視窗684
48.6.2Watch1-4視窗685
48.6.3Autos視窗和Locals視窗685
48.7CallStack(調用堆疊)686
48.8Threads視窗686
48.9Modules視窗687
48.10Processes視窗687
48.11記憶體視窗687
48.11.1Memory1-4視窗688
48.11.2Disassembly視窗688
48.11.3Registers視窗688
48.11.4Exceptions視窗689
48.12定製ExceptionAssistant690
48.13小結692
第49章斷點調試693
第50章調試代理和專用顯示界面703
第51章網路應用程式維護713
第52章其他調試技術723
第53章單元測試731第Ⅹ部分VisualStudio2005擴展內容
第54章InfoPath2003工具包751
第55章Office程式開發765
第56章VisualStudioTeam系統789
……