第Ⅰ部分 集成开发环境 3
第1章 快速入门 3
1.1 入门 3
1.1.1 安装Visual Studio 2012 3
1.1.2 运行Visual Studio 2012 5
1.2 Visual Studio IDE 6
1.3 小结 12
第2章 Solution Explorer、Toolbox和Properties窗口 13
2.1 Solution Explorer窗口 13
2.1.1 预览文件 15
2.1.2 常见任务 16
2.2 Toolbox窗口 21
2.2.1 排列组件 23
2.2.2 添加组件 24
2.3 Properties窗口 25
2.4 小结 31
第3章 选项和定制 33
3.1 Start Page 33
3.2 窗口布局 34
3.2.1 查看窗口和工具栏 35
3.2.2 浏览打开的项 36
3.2.3 停靠 37
3.3 编辑区域 39
3.3.1 字体和颜色 40
3.3.2 可视化指南 40
3.3.3 全屏模式 42
3.3.4 跟踪变化 42
3.4 其他选项 43
3.4.1 快捷键 43
3.4.2 快速启动 44
3.4.3 项目和解决方案 45
3.4.4 Build and Run界面 46
3.4.5 VB选项 47
3.5 导入和导出设置 48
3.6 小结 49
第4章 Visual Studio工作区 51
4.1 代码编辑器 51
4.1.1 代码编辑器窗口的布局 51
4.1.2 区域 52
4.1.3 大纲 53
4.1.4 代码的格式化 53
4.1.5 向前/向后 54
4.1.6 其他代码编辑器功能 54
4.1.7 分割视图 55
4.1.8 代码窗口的分离(浮动) 56
4.1.9 复制Solution Explorer 57
4.1.10 创建选项卡组 58
4.1.11 高级功能 58
4.2 命令窗口 60
4.3 Immediate窗口 61
4.4 Class View工具窗口 62
4.5 Error List窗口 63
4.6 Object Browser窗口 63
4.7 Code Definition窗口 64
4.8 Call Hierarchy窗口 65
4.9 Document Outline工具窗口 66
4.9.1 HTML大纲 66
4.9.2 控制大纲 67
4.10 重新安排工具窗口 69
4.11 小结 70
第5章 查找和替换以及帮助 71
5.1 Quick Find与Quick Replace 71
5.1.1 Quick Find 72
5.1.2 Quick Replace 73
5.1.3 查找选项 73
5.1.4 Find and Replace选项 74
5.2 文件中查找/替换 74
5.2.1 在文件中查找 74
5.2.2 查找对话框选项 75
5.2.3 正则表达式 76
5.2.4 结果窗口 77
5.2.5 文件中替换 78
5.3 Navigate To功能 79
5.4 访问帮助 80
5.4.1 浏览和搜索帮助系统 81
5.4.2 配置帮助系统 81
5.5 小结 82
第Ⅱ部分 入门 85
第6章 解决方案、项目和项 85
6.1 解决方案的结构 85
6.2 解决方案文件的格式 87
6.3 解决方案的属性 88
6.3.1 常规属性 88
6.3.2 配置属性 89
6.4 项目类型 91
6.5 项目文件格式 92
6.6 项目属性 92
6.6.1 Application选项卡 93
6.6.2 Compile选项卡(仅用于Visual Basic) 96
6.6.3 Build选项卡(仅用于C#和F#) 97
6.6.4 Build Events选项卡(仅用于C#和F#) 98
6.6.5 Debug选项卡 99
6.6.6 References选项卡(仅用于Visual Basic) 100
6.6.7 Resources选项卡 101
6.6.8 Services选项卡 101
6.6.9 Settings选项卡 102
6.6.10 Reference Paths选项卡(仅用于C#和F#) 103
6.6.11 Signing选项卡 104
6.6.12 My Extensions选项卡(仅用于Visual Basic) 104
6.6.13 Security选项卡 105
6.6.14 Publish选项卡 106
6.6.15 Code Analysis选项卡 106
6.7 Web应用程序项目属性 107
6.7.1 Web选项卡 107
6.7.2 Silverlight Applications选项卡 108
6.7.3 Package/Publish Web选项卡 109
6.7.4 Package/Publish SQL选项卡 109
6.8 Web Site项目 110
6.9 小结 110
第7章 IntelliSense和书签 113
7.1 IntelliSense的解释 113
7.1.1 通用的IntelliSense 114
7.1.2 IntelliSense和C 115
7.1.3 单词和短语的自动完成 115
7.1.4 参数信息 121
7.1.5 快速信息 121
7.2 JavaScript Intellisense 121
7.2.1 JavaScript IntelliSense上下文 122
7.2.2 引用另一个JavaScript文件 122
7.3 IntelliSense选项 123
7.3.1 通用选项 123
7.3.2 C#的特定选项 125
7.4 扩展IntelliSense 126
7.4.1 代码片段 126
7.4.2 XML注释 126
7.4.3 添加自己的IntelliSense 126
7.5 书签和Bookmarks窗口 127
7.6 小结 128
第8章 代码片段和重构 129
8.1 代码片段概述 130
8.1.1 在Toolbox中存储代码块 130
8.1.2 代码片段 130
8.1.3 使用C#中的代码片段 131
8.1.4 Visual Basic中的代码片段 132
8.1.5 用代码片段进行封装 133
8.1.6 Code Snippets Manager 134
8.1.7 创建代码片段 134
8.1.8 查看已有的代码片段 135
8.2 访问重构支持 138
8.3 重构操作 139
8.3.1 Extract Method重构操作 139
8.3.2 Encapsulate Field重构操作 141
8.3.3 Extract Interface重构操作 143
8.3.4 Reorder Parameters重构操作 145
8.3.5 Remove Parameters重构操作 146
8.3.6 Rename重构操作 146
8.3.7 Generate Method Stub重构操作 147
8.3.8 Organize Usings重构操作 148
8.4 小结 149
第9章 Server Explorer 151
9.1 Servers连接 151
9.1.1 Event Logs节点 152
9.1.2 Management Classes节点 154
9.1.3 Management Events节点 156
9.1.4 Message Queues节点 159
9.1.5 Performance Counters节点 162
9.1.6 Services节点 165
9.2 Data Connections节点 166
9.3 SharePoint Connections节点 167
9.4 小结 167
第10章 用Class Designer建模 169
10.1 创建类图 169
10.2 设计界面 170
10.3 工具箱 171
10.3.1 实体 172
10.3.2 连接器 172
10.4 Class Details窗口 173
10.5 Properties窗口 174
10.6 布局 174
10.7 导出类图 175
10.8 代码的生成和重构 175
10.8.1 拖放式代码生成 175
10.8.2 IntelliSense代码生成 177
10.8.3 用Class Designer进行重构 178
10.9 Modeling Power Toys for Visual Studio 178
10.9.1 可视化方面的改进 179
10.9.2 功能方面的改进 180
10.10 小结 181
第Ⅲ部分 深入 185
第11章 单元测试 185
11.1 第一个测试用例 185
11.1.1 使用特性标识测试 191
11.1.2 其他测试特性 191
11.2 指定判断条件 193
11.2.1 Assert类 193
11.2.2 StringAssert类 194
1 1.2. 3 CollectionAssert类 194
11.2.4 ExpectedException特性 194
11.3 初始化和清理 196
11.3.1 TestInitialize和TestCleanup特性 196
11.3.2 ClassInitialize和ClassCleanup特性 197
11.3.3 AssemblyInitialize和AssemblyCleanup特性 197
11.4 测试环境 197
11.4.1 数据 197
11.4.2 编写测试输出 200
11.5 高级单元测试 201
11.5.1 定制属性 201
11.5.2 测试私有成员 202
11.6 测试Code Contracts 203
11.7 小结 205
第12章 使用XML注释生成文档 207
12.1 内联注释 207
12.2 XML注释 208
12.2.1 添加XML注释 208
12.2.2 XML注释标记 209
12.3 使用XML注释 222
12.4 用GhostDoc生成文档 223
12.5 用Sandcastle编译文档 224
12.6 Task List注释 227
12.7 小结 229
第13章 确保编码一致性的工具 231
13.1 源控制 231
13.1.1 选择源控制存储库 232
13.1.2 访问源控制 234
13.2 编码标准 238
13.2.1 用FxCop分析代码 238
13.2.2 用StyleCop指定样式 241
13.2.3 Code Contracts 242
13.3 小结 244
第14章 用T4生成代码 245
14.1 创建T4模板 245
14.2 T4构建基块 249
14.2.1 Expression块 249
14.2.2 Statement块 249
14.2.3 Class Feature块 251
14.3 T4的工作原理 252
14.4 T4指令 255
14.4.1 template指令 255
14.4.2 output指令 256
14.4.3 assembly指令 256
14.4.4 import指令 256
14.4.5 include指令 257
14.5 疑难解答 258
14.5.1 设计时错误 258
14.5.2 编译转换错误 258
14.5.3 执行转换错误 259
14.5.4 生成的代码错误 259
14.6 生成代码资源 259
14.7 Runtime Text Template 263
14.7.1 使用Runtime Text Template 265
14.7.2 Runtime Text Template与标准T4模板的区别 267
14.8 提示和技巧 268
14.9 小结 268
第15章 项目模板和项模板 269
15.1 创建模板 269
15.1.1 项模板 269
15.1.2 项目模板 273
15.1.3 模板结构 274
15.1.4 模板参数 276
15.1.5 模板位置 277
15.2 扩展模板 277
15.2.1 模板项目的安装 277
15.2.2 IWizard 279
15.2.3 生成扩展项目模板 284
15.3 Starter Kit 286
15.4 联机模板 286
15.5 小结 287
第16章 语言相关特性 289
16.1 使用正确的语言 289
16.1.1 命令式语言 289
16.1.2 声明式语言 290
16.1.3 动态语言 290
16.1.4 函数式语言 291
16.1.5 这些类别的含义 291
16.2 两种语言的选择 292
16.2.1 async关键字 292
16.2.2 调用者信息 294
16.3 Visual Basic 294
16.3.1 迭代器 295
16.3.2 Global关键字 295
16.3.3 Visual Basic PowerPacks 296
16.4 F 297
16.4.1 第一个F#程序 297
16.4.2 研究F#语言特性 299
16.4.3 类型提供程序 301
16.4.4 查询表达式 302
16.4.5 自动实现属性 302
16.5 小结 303
第Ⅳ部分 富客户端应用程序 307
第17章 Windows Forms应用程序 307
17.1 入门 307
17.2 Windows窗体 308
17.2.1 Appearance属性 309
17.2.2 Layout属性 310
17.2.3 Window Style属性 310
17.3 窗体设计首选项 310
17.4 添加和定位控件 312
17.4.1 垂直对齐文本控件 313
17.4.2 自动定位多个控件 313
17.4.3 控件的Tab键顺序和分层 314
17.4.4 锁定控件设计 315
17.4.5 设置控件属性 316
17.4.6 基于服务的组件 316
17.4.7 智能标记任务 317
17.5 容器控件 318
17.5.1 Panel和SplitContainer控件 318
17.5.2 FlowLayoutPanel控件 318
17.5.3 TableLayoutPanel控件 319
17.6 停靠和锚定控件 320
17.7 小结 320
第18章 Windows Presentation Foundation(WPF) 321
18.1 WPF的概念 321
18.2 开始使用WPF 323
18.2.1 XAML基础 324
18.2.2 WPF控件 325
18.2.3 WPF布局控件 326
18.3 WPF设计器和XAML编辑器 328
18.3.1 使用XAML编辑器 330
18.3.2 使用WPF设计器 330
18.3.3 Properties工具窗口 333
18.3.4 数据绑定功能 337
18.4 设置应用程序的样式 341
18.5 Windows Forms的交互操作性 343
18.5.1 在Windows Forms中驻留WPF控件 343
18.5.2 在WPF中驻留Windows Forms控件 345
18.6 用WPF Visualizer调试 347
18.7 小结 348
第19章 Office业务应用程序 349
19.1 选择Office项目类型 349
19.1.1 文档级定制 350
19.1.2 应用程序级插件 351
19.2 创建文档级定制 351
19.2.1 第一个VSTO项目 351
19.2.2 保护文档设计 354
19.2.3 添加Actions Pane 355
19.3 创建应用程序级插件 356
19.3.1 一些Outlook概念 356
19.3.2 创建Outlook窗体区域 357
19.4 调试Office应用程序 361
19.4.1 注销插件 361
19.4.2 禁用的插件 362
19.5 部署Office应用程序 363
19.6 小结 364
第20章 Windows Store应用程序 365
20.1 Windows Store应用程序的定义 365
20.1.1 呈现内容 366
20.1.2 对齐和缩放 367
20.1.3 语义式缩放 367
20.1.4 协定 367
20.1.5 磁贴 368
20.1.6 接受云 368
20.2 创建Windows Store应用程序 368
20.2.1 Windows 8模拟器 370
20.2.2 你的Windows Store应用程序 373
20.3 小结 375
第Ⅴ部分 Web应用程序 379
第21章 ASP.NET Web窗体 379
21.1 Web Application项目和Web Site项目 379
21.2 创建Web项目 380
21.2.1 创建Web Site项目 380
21.2.2 创建Web Application项目 384
21.2.3 其他Web项目 385
21.2.4 入门套件、社区项目和开放源代码的应用程序 386
21.3 设计Web窗体 386
21.3.1 HTML Designer 386
21.3.2 定位控件和HTML元素 388
21.3.3 格式化控件和HTML元素 390
21.3.4 CSS工具 391
21.3.5 验证工具 395
21.4 Web控件 396
21.4.1 导航组件 397
21.4.2 用户身份验证 397
21.4.3 数据组件 399
21.4.4 Web部件 402
21.5 主页面 403
21.6 富客户端开发 404
21.6.1 用JavaScript开发 404
21.6.2 使用ASP.NET AJAX 405
21.6.3 使用AJAX Control Extenders 408
21.7 ASP.NET网站管理 410
21.7.1 安全 411
21.7.2 应用程序设置 412
21.7.3 IIS中的ASP.NET配置 412
21.8 小结 413
第22章 ASP.NET MVC 415
22.1 Model-View-Controller 416
22.2 开始使用ASP.NET MVC 416
22.3 选择Model 419
22.4 Controller和action方法 420
22.5 用View显示UI 423
22.6 高级MVC 430
22.6.1 路由 430
22.6.2 action方法参数 434
22.6.3 区域 437
22.6.4 验证 440
22.6.5 部分View 442
22.6.6 Dynamic Data模板 443
22.6.7 jQuery 446
22.7 小结 448
第23章 Silverlight 449
23.1 Silverlight简介 450
23.2 开始使用Silverlight 451
23.3 Navigation Framework 456
23.4 设置主题 457
23.5 在浏览器外部运行 460
23.6 小结 463
第24章 Dynamic Data 465
24.1 创建Dynamic Data Web应用程序 466
24.1.1 添加数据模型 467
24.1.2 研究Dynamic Data应用程序 469
24.2 定制数据模型 470
24.2.1 基架化各个表 470
24.2.2 定制各个数据字段 471
24.2.3 添加定制的验证规则 473
24.2.4 定制显示格式 475
24.3 定制显示 476
24.3.1 页面模板 476
24.3.2 字段模板 479
24.3.3 实体模板 482
24.3.4 过滤器模板 484
24.4 为已有的项目启用Dynamic Data 486
24.5 小结 487
第25章 SharePoint 489
25.1 准备开发环境 490
25.1.1 安装预备软件 490
25.1.2 安装SharePoint 2010 492
25.2 研究SharePoint 2010 493
25.3 创建SharePoint项目 495
25.4 构建定制的SharePoint组件 498
25.4.1 开发Web部件 498
25.4.2 创建内容类型和列表 500
25.4.3 添加事件接收器 503
25.4.4 创建SharePoint工作流 504
25.5 使用Feature 506
25.6 打包和部署 507
25.7 小结 510
第26章 Windows Azure 511
26.1 Windows Azure平台 511
26.1.1 Compute Emulator 514
26.1.2 表、blob和队列存储器 514
26.1.3 应用程序部署 518
26.2 SQL Azure 522
26.3 AppFabric 523
26.3.1 Service Bus 524
26.3.2 ACS 524
26.4 Azure网站 524
26.5 Azure虚拟机 525
26.6 小结 526
第Ⅵ部分 数据 529
第27章 可视化数据库工具 529
27.1 Visual Studio 2012中的数据库窗口 529
27.1.1 Server Explorer窗口 530
27.1.2 Data Sources窗口 534
27.2 SQL Server Object Explorer 535
27.3 编辑数据 536
27.4 小结 537
第28章 数据集和数据绑定 539
28.1 DataSet概述 539
28.1.1 添加数据源 540
28.1.2 DataSet设计器 541
28.2 绑定数据 544
28.2.1 BindingSource类 546
28.2.2 BindingNavigator类 548
28.2.3 选择数据源 549
28.2.4 保存更改 552
28.2.5 插入新记录 553
28.2.6 验证 554
28.2.7 定制的DataSet 556
28.2.8 BindingSource链和DataGridView控件 558
28.3 数据源的使用 560
28.3.1 Web服务数据源 562
28.3.2 浏览数据 563
28.4 小结 565
第29章 LINQ 567
29.1 LINQ提供程序 567
29.2 旧式查询 568
29.3 查询的各个部分 570
29.3.1 From语句 570
29.3.2 Select语句 571
29.3.3 Where语句 572
29.3.4 Group By语句 572
29.3.5 定制投射 573
29.3.6 Order By语句 574
29.4 调试和执行 575
29.5 LINQ to XML对象模型 576
29.5.1 VB的XML字面量 577
29.5.2 用LINQ创建XML 577
29.6 查询XML 580
29.7 架构支持 581
29.8 LINQ to SQL 582
29.8.1 创建对象模型 582
29.8.2 用LINQ to SQL查询 584
29.8.3 绑定LINQ to SQL对象 589
29.9 LINQPad 592
29.10 小结 592
第30章 ADO.NET Entity Framework 593
30.1 什么是Entity Framework 594
30.1.1 与LINQ to SQL比较 594
30.1.2 Entity Framework概念 594
30.2 入门 595
30.3 创建实体模型 595
30.3.1 实体数据模型向导 595
30.3.2 Entity Framework设计器 598
30.3.3 创建/修改实体 602
30.3.4 创建/修改实体关联 605
30.3.5 实体继承 606
30.3.6 验证实体模型 606
30.3.7 根据数据库的修改来更新实体模型 606
30.4 查询实体模型 607
30.4.1 LINQ to Entities概述 607
30.4.2 获得对象上下文 607
30.4.3 CRUD操作 608
30.4.4 导航实体关联 612
30.5 高级功能 614
30.5.1 从实体模型更新数据库 614
30.5.2 给实体添加业务逻辑 614
30.5.3 简单的旧CLR对象(POCO) 614
30.6 小结 614
第31章 报表 615
31.1 报表入门 615
31.2 设计报表 617
31.2.1 定义数据源 618
31.2.2 报表控件 619
31.2.3 表达式、占位符和聚合 633
31.2.4 自定义代码 636
31.2.5 报表布局 640
31.2.6 子报表 642
31.2.7 Report向导 644
31.3 呈现报表 644
31.3.1 Report Viewer控件 645
31.3.2 生成报表 645
31.3.3 以不同的格式呈现报表 646
31.4 部署报表 648
31.5 小结 648
第Ⅶ部分 应用程序服务 651
第32章 Windows Communication Foundation(WCF) 651
32.1 WCF的概念 651
32.2 入门 652
32.3 定义协定 653
32.3.1 创建服务协定 653
32.3.2 创建数据协定 655
32.4 配置WCF服务端点 657
32.5 承载WCF服务 660
32.6 使用WCF服务 664
32.7 小结 669
第33章 Windows Workflow Foundation(WF) 671
33.1 Windows Workflow Foundation的概念 671
33.2 使用Windows Workflow的原因 672
33.3 工作流的概念 672
33.3.1 活动 672
33.3.2 控制流活动 674
33.3.3 表达式 674
33.3.4 工作流运行库/调度器 674
33.3.5 书签 674
33.3.6 持久化 675
33.3.7 跟踪 675
33.4 入门 676
33.5 Workflow Foundation设计器 677
33.6 创建工作流 680
33.6.1 设计工作流 680
33.6.2 编写Code Activities 683
33.6.3 执行工作流 684
33.6.4 调试工作流 686
33.6.5 测试工作流 687
33.7 承载工作流设计器 687
33.8 小结 691
第34章 客户端应用程序服务 693
34.1 客户端服务 693
34.2 角色授权 696
34.3 用户验证 698
34.4 设置 700
34.5 登录窗体 705
34.6 脱机支持 707
34.7 小结 709
第35章 同步服务 711
35.1 偶尔连接的应用程序 711
35.2 Server Direct 712
35.3 同步服务入门 715
35.4 N层上的同步服务 719
35.5 小结 720
第36章 WCF RIA Services 721
36.1 入门 721
36.2 域服务 723
36.3 域操作 725
36.3.1 查询操作 725
36.3.2 插入/更新/删除操作 726
36.3.3 其他操作类型 726
36.4 在Silverlight中使用域服务 727
36.5 小结 731
第Ⅷ部分 配置和资源 735
第37章 配置文件 735
37.1 配置文件 735
37.1.1 machine.config文件 735
37.1.2 web.config文件 736
37.1.3 app.config文件 736
37.1.4 security.config文件 736
37.1.5 applicationHost.config文件 736
37.2 配置架构 737
37.2.1 configurationSections节 737
37.2.2 startup节 738
37.2.3 runtime节 738
37.2.4 system.runtime.remoting节 739
37.2.5 system.net节 739
37.2.6 cryptographySettings节 740
37.2.7 system.diagnostics节 740
37.2.8 system.web节 741
37.2.9 compiler节 741
37.2.10 配置特性 741
37.3 应用程序设置 743
37.3.1 使用appSettings节 743
37.3.2 项目设置 743
37.3.3 动态属性 744
37.3.4 自定义配置节 746
37.4 用户设置 750
37.5 用设置引用的项目 752
37.6 小结 753
第38章 连接字符串 755
38.1 连接字符串向导 755
38.2 SQL Server格式 760
38.3 构造代码 761
38.4 加密连接字符串 763
38.5 LocalDB 764
38.6 小结 765
第39章 资源文件 767
39.1 资源的概念 767
39.1.1 文本文件资源 767
39.1.2 resx资源文件 769
39.1.3 二进制资源文件 770
39.1.4 添加资源 770
39.1.5 嵌入文件作为资源 771
39.1.6 资源命名 771
39.1.7 访问资源 771
39.1.8 设计器文件 772
39.2 为应用程序提供资源 773
39.3 辅助资源 775
39.3.1 区域 775
39.3.2 创建区域性资源 776
39.3.3 加载区域资源文件 776
39.3.4 辅助区域资源 777
39.4 访问细节 777
39.4.1 加载位图和图标 777
39.4.2 跨程序集引用 778
39.4.3 ComponentResourceManager对象 778
39.5 编码资源文件 779
39.5.1 ResourceReader和ResourceWriter 779
39.5.2 ResxResourceReader和ResxResourceWriter 779
39.6 定制资源 780
39.7 小结 783
第Ⅸ部分 调试 787
第40章 使用调试窗口 787
40.1 代码窗口 787
40.1.1 断点 787
40.1.2 数据提示 788
40.2 Breakpoints窗口 788
40.3 Output窗口 789
40.4 Immediate窗口 790
40.5 监视窗口 791
40.5.1 QuickWateh窗口 791
40.5.2 Watch 1-4窗口 792
40.5.3 Autos窗口和Locals窗口 793
40.6 代码执行窗口 793
40.6.1 Call Stack窗口 793
40.6.2 Threads窗口 793
40.6.3 Modules窗口 794
40.6.4 Processes窗口 795
40.7 内存窗口 795
40.7.1 Memory 1-4窗口 795
40.7.2 Disassembly窗口 796
40.7.3 Registers窗口 796
40.8 IntelliTrace(仅用于Ultimate版本) 797
40.9 并行调试窗口 798
40.9.1 Parallel Stacks窗口 798
40.9.2 Parallel Tasks窗口 800
40.10 Exceptions窗口 800
40.10.1 定制Exception Assistant 802
40.10.2 展开异常 803
40.11 小结 803
第41章 断点调试 805
41.1 断点 805
41.1.1 设置断点 805
41.1.2 为断点指定条件 808
41.1.3 过滤 810
41.1.4 断点操作 810
41.2 跟踪点 812
41.3 执行控制 813
41.3.1 单步执行代码 814
41.3.2 移动执行点 815
41.4 Edit and Continue功能 815
41.4.1 原始编辑 816
41.4.2 停止应用修改 816
41.5 小结 816
第42章 数据提示、调试代理和可视化工具 817
42.1 数据提示 817
42.2 调试器特性 818
42.2.1 DebuggerBrowsable特性 819
42.2.2 DebuggerDisplay特性 820
42.2.3 DebuggerHidden特性 820
42.2.4 DebuggerStepThrough特性 822
42.2.5 DebuggerNonUserCode特性 822
42.2.6 DebuggerStepperBoundary特性 823
42.3 类型代理 823
42.4 可视化工具 825
42.5 高级技术 827
42.6 小结 829
第43章 调试Web应用程序 831
43.1 调试服务器端的ASP.NET代码 831
43.1.1 Web应用程序异常 833
43.1.2 Edit and Continue功能 835
43.1.3 错误处理 836
43.2 调试客户端的JavaScript 837
43.2.1 在JavaScript代码中设置断点 837
43.2.2 调试动态生成的JavaScript代码 838
43.2.3 调试ASP.NET AJAX JavaScript 839
43.2.4 Page Inspector(页面查看器) 839
43.3 调试Silverlight 840
43.4 跟踪 842
43.4.1 页面级别的跟踪 842
43.4.2 应用程序级别的跟踪 843
43.4.3 跟踪输出 843
43.4.4 跟踪查看器 844
43.4.5 自定义跟踪输出 844
43.5 运行状况监视 845
43.6 小结 846
第44章 高级调试技术 847
44.1 启动操作 847
44.2 用代码调试 849
44.2.1 Debugger类 849
44.2.2 Debug类和Trace类 850
44.3 调试运行着的应用程序 852
44.3.1 附加Windows进程 852
44.3.2 附加Web应用程序 853
44.3.3 远程调试 854
44.3.4 IntelliTrace 855
44.4 NET Framework源 857
44.5 多线程和并行应用程序的调试 859
44.6 调试SQL Server存储过程 861
44.7 混合模式的调试 862
44.8 post-mortem调试 862
44.8.1 生成转储文件 862
44.8.2 调试转储文件 863
44.9 小结 864
第Ⅹ部分 构建和部署 867
第45章 升级到Visual Studio 2012 867
45.1 从Visual Studio 2010升级 867
45.2 升级到.NET Framework4.5 869
45.3 小结 871
第46章 定制构建 873
46.1 通用构建选项 873
46.2 手动配置依赖关系 876
46.3 Visual Basic编译页面 876
46.3.1 高级编译器设置 877
46.3.2 构建事件 879
46.4 C#构建页面 880
46.5 MSBuild 882
46.5.1 Visual Studio使用MSBuild的方式 882
46.5.2 MSBuild模式 885
46.5.3 通过MSBuild任务设置程序集的版本 886
46.6 小结 887
第47章 程序集的版本和签名 889
47.1 程序集的命名 889
47.2 版本的一致性 892
47.3 强名程序集 893
47.4 全局程序集缓存 893
47.5 对程序集进行签名 894
47.6 小结 896
第48章 模糊处理、应用程序监控和管理 897
48.1 MSIL反汇编器 897
48.2 反编译器 899
48.3 模糊处理代码 900
48.3.1 Dotfuscator and Analytics 900
48.3.2 模糊处理特性 904
48.3.3 警告 906
48.4 应用程序监控和管理 908
48.4.1 防篡改功能 909
48.4.2 运行期间的智能测试和分析功能 911
48.4.3 应用程序终止 913
48.4.4 应用程序的使用情况跟踪 915
48.5 小结 916
第49章 打包和部署 917
49.1 Windows Installer XML工具集 918
49.1.1 构建安装程序 918
49.1.2 使用Heat创建片段 921
49.1.3 服务安装程序 924
49.2 ClickOnce技术 925
49.2.1 部署 925
49.2.2 升级 929
49.3 小结 931
第50章 Web应用程序的部署 933
50.1 website项目的部署 933
50.1.1 发布Web站点 933
50.1.2 复制Web站点 935
50.2 Web Application项目的部署 935
50.3 Web项目安装程序 937
50.4 Web平台安装程序 939
50.5 小结 943
第Ⅺ部分 定制和扩展Visual Studio 947
第51章 自动化模型 947
51.1 Visual Studio扩展选项 947
51.2 Visual Studio自动化模型 948
51.2.1 自动化模型概述 948
51.2.2 解决方案和项目 950
51.2.3 窗口和文档 950
51.2.4 命令 952
51.2.5 调试器 953
51.2.6 事件 954
51.3 小结 954
第52章 插件 955
52.1 开发插件 955
52.1.1 插件向导 955
52.1.2 项目结构 958
52.1.3 测试插件 959
52.1.4 .Addln文件 960
52.1.5 Connect类 961
52.1.6 创建工具窗口 962
52.1.7 访问Visual Studio自动化模型 965
52.1.8 处理Visual Studio事件 966
52.2 部署插件 968
52.3 小结 969
第53章 Managed Extensibility Framework(MEF) 971
53.1 MEF入门 972
53.1.1 导入和导出 973
53.1.2 协定 975
53.1.3 目录 977
53.1.4 高级MEF 978
53.2 Visual Studio编辑器 978
53.2.1 文本模型子系统 978
53.2.2 文本视图子系统 979
53.2.3 分类子系统 980
53.2.4 操作子系统 980
53.3 扩展编辑器 980
53.3.1 编辑器扩展点 981
53.3.2 编辑器服务 985
53.3.3 Check Comment Highlighter扩展 985
53.4 小结 991
第Ⅻ部分 Visual Studio Ultimate 995
第54章 Visual Studio Ultimate for Architects 995
54.1 项目建模 995
54.1.1 UML图 996
54.1.2 UML Model Explorer工具窗口 1000
54.1.3 使用分层图验证应用程序体系结构 1001
54.1.4 链接到Team Foundation Server上 1003
54.2 研究代码 1003
54.2.1 Architecture Explorer窗口 1003
54.2.2 依赖关系图 1005
54.2.3 生成序列图 1005
54.3 小结 1007
第55章 Visual Studio Ultimate for Developers 1009
55.1 代码度量 1009
55.1.1 代码行数 1010
55.1.2 继承的深度 1011
55.1.3 类耦合 1011
55.1.4 圈复杂性 1011
55.1.5 可维护性指数 1011
55.1.6 去除的代码 1011
55.2 托管代码分析工具 1011
55.3 C/C++代码分析工具 1013
55.4 分析工具 1013
55.4.1 配置Profiler会话 1013
55.4.2 报表 1015
55.5 独立的探查器 1016
55.6 IntelliTrace工具 1016
55.7 数据库工具 1018
55.7.1 数据库架构 1018
55.7.2 SQL-CLR支持 1020
55.7.3 数据库重构 1021
55.7.4 Schema Compare工具 1022
55.7.5 静态分析 1023
55.7.6 T-SQL编辑器 1023
55.7.7 最佳实践 1023
55.8 小结 1024
第56章 Visual Studio Ultimate for Testers 1025
56.1 自动测试 1025
56.1.1 Web性能测试 1026
56.1.2 负载测试 1028
56.1.3 测试负载代理 1029
56.1.4 编码UI测试 1029
56.1.5 一般测试 1030
56.1.6 有序测试 1030
56.2 关联代码和测试 1031
56.3 Visual Studio测试管理 1033
56.4 Microsoft Test Manager工具 1033
56.4.1 Testing Center 1034
56.4.2 Lab Center 1036
56.5 小结 1037
第57章 Team Foundation Server 1039
57.1 团队项目 1040
57.2 过程模板 1040
57.3 工作项跟踪 1042
57.3.1 工作项查询 1043
57.3.2 工作项类型 1044
57.3.3 添加工作项 1044
57.3.4 工作项状态 1045
57.4 Excel和Project集成 1045
57.4.1 Excel 1045
57.4.2 Project 1046
57.5 版本控制 1047
57.5.1 在Solution Explorer中工作 1048
57.5.2 签出 1048
57.5.3 签入 1048
57.5.4 解决冲突 1049
57.5.5 脱机工作 1050
57.5.6 标签 1051
57.5.7 历史 1053
57.5.8 批注 1053
57.5.9 搁置 1054
57.5.10 分支 1054
57.5.11 合并 1056
57.6 Team Foundation Build 1056
57.7 报表和商业智能 1058
57.8 团队门户 1059
57.8.1 文档 1059
57.8.2 过程指导 1059
57.8.3 SharePoint列表 1060
57.8.4 仪表盘 1060
57.9 Web Access 1061
57.10 小结 1061