第Ⅰ部分 语言结构和环境 3
第1章 Visual Studio 2010 3
1.1 Visual Studio 2010:从Express到Ultimate的各种版本 4
1.2 Visual Basic的关键字和语法 7
1.2.1控制台应用程序 10
1.2.2从项目模板上创建项目 11
1.2.3 Solution Explorer窗口 13
1.2.4项目属性 14
1.2.5 Assembly Information屏幕 15
1.2.6编译设置 16
1.2.7调试属性 20
1.2.8引用 21
1.2.9资源 23
1.2.10设置 24
1.2.11其他项目属性选项卡 26
1.3 ProVB VS2010项目 27
1.3.1在代码中设置窗体属性 29
1.3.2 Visual Studio的其他组件 37
1.4增强示例应用程序的功能 37
1.4.1定制代码 39
1.4.2构建应用程序 43
1.4.3重用第一个Windows窗体 50
1.5 Visual Studio 2010中的特色功能 51
1.5.1构建配置 51
1.5.2任务列表 53
1.5.3 Command窗口 54
1.5.4 Server Explore 54
1.5.5在Visual Studio 2010中记录和使用宏 55
1.5.6类图 57
1.5.7应用程序生命周期管理 58
1.5.8性能工具 60
1.6小结 62
第2章 对象和VisualBasic 63
2.1面向对象的术语 64
2.1.1对象、类和实例 64
2.1.2对象的组成 65
2.1.3 System.Object 68
2.2使用Visual Basic类型 68
2.2.1值类型和引用类型 69
2.2.2基本类型 71
2.3命令:条件语句 72
2.3.1 If Then 73
2.3.2比较运算符 73
2.3.3 Select Case 75
2.4值类型(结构) 75
2.4.1布尔类型 76
2.4.2整数类型 77
2.4.3无符号类型 78
2.4.4小数类型 78
2.4.5 Char和Byte类型 81
2.4.6 DateTime类型 81
2.5引用类型(类) 82
2.5.1 Object类 82
2.5.2 String类 83
2.5.3 XML字面量 87
2.5.4 DBNull类和IsDBNull()函数 89
2.6参数传递 89
2.7变量的作用域 91
2.8使用对象 92
2.8.1对象的声明和实例化 92
2.8.2对象引用 93
2.8.3取消对象的引用 93
2.8.4前期绑定与后期绑定 94
2.9数据类型转换 95
2.10创建类 100
2.10.1类 100
2.10.2事件的处理 110
2.10.3处理多个事件 111
2.10.4 WithEvents关键字 111
2.10.5触发事件 111
2.10.6声明和触发定制事件 112
2.10.7用WithEvents关键字接收事件 113
2.10.8用AddHandler接收事件 115
2.10.9构造函数方法 116
2.10.10终止和清除 117
2.11高级概念 118
2.11.1重载方法 119
2.11.2重载构造函数方法 121
2.11.3共享方法、变量和事件 122
2.11.4运算符重载 127
2.11.5委托 129
2.11.6类和组件 133
2.11.7 Lambda表达式 134
2.12小结 135
第3章 定制对象 137
3.1继承 138
3.1.1继承的实现 139
3.1.2继承的层次 157
3.1.3与基类、类及对象交互 159
3.1.4构造函数 164
3.1.5 Protected作用域 169
3.1.6事件与继承 171
3.1.7共享方法 174
3.1.8共享事件 176
3.1.9创建抽象基类 176
3.2多接口 178
3.2.1对象接口 178
3.2.2辅助接口 180
3.3抽象性 185
3.4封装性 188
3.5多态性 190
3.5.1方法签名 190
3.5.2实现多态性 191
3.6进一步讨论继承 200
3.7小结 211
第4章 公共语言运行库 213
4.1 .NET应用程序的组成元素 214
4.1.1模块 214
4.1.2程序集 215
4.1.3类型 215
4.2版本化与部署 216
4.2.1对版本化更好的支持 216
4.2.2 Major.Minor.Build.Revision版本介绍 217
4.2.3更好的部署 217
4.3跨语言集成 218
4.3.1通用类型系统 218
4.3.2元数据 219
4.3.3对元数据更好的支持 219
4.3.4属性 220
4.3.5 Reflection API 222
4.4 IL反汇编程序 222
4.5内存管理 223
4.5.1传统的垃圾回收机制 223
4.5.2更快地为对象分配内存 230
4.5.3垃圾回收器的优化 231
4.6名称空间 232
4.6.1名称空间的概念 233
4.6.2名称空间与引用 236
4.6.3常用的名称空间 237
4.6.4导入名称空间并指定别名 239
4.6.5为名称空间指定别名 240
4.6.6在ASP.NET中引用名称空间 241
4.7创建自己的名称空间 241
4.8 My关键字 244
4.8.1 My.Application名称空间 244
4.8.2 My.Computer名称空间 248
4.8.3 My.Forms名称空间 251
4.8.4 My.Resources名称空间 251
4.8.5 My.User名称空间 251
4.8.6 My.WebServices名称空间 251
4.9扩展My名称空间 252
4.10小结 254
第5章 用Visual Basic进行声明式编程 255
5.1声明式编程与Visual Basic 256
5.2使用XAML创建窗口 257
5.3 XAML语法 260
5.3.1 XAML语言基础 261
5.3.2使用XAML声明工作流 264
5.4小结 265
第6章 异常处理和调试 267
6.1 Visual Studio 2010 Team System的新增内容:历史调试 267
6.2与Visual Basic 6兼容的注意事项 268
6.3 .NET中的异常处理 268
6.4结构化异常处理的关键字 269
6.4.1 Try、Catch和Finally关键字 270
6.4.2 Throw关键字 271
6.4.3抛出新的异常 272
6.4.4 Exit Try语句 273
6.4.5嵌套的Try结构 274
6.4.6异常属性的使用 275
6.4.7 Message属性 276
6.4.8 InnerException和TargetSite属性 276
6.5与Visual Basic 6样式的错误处理交互操作 280
6.6记录错误 281
6.6.1事件日志 281
6.6.2事件、方法和属性 282
6.6.3写入跟踪文件 284
6.7小结 286
第7章 测试驱动的开发 287
7.1测试的内容和方式 288
7.2 Visual Studio中的TDD工具 290
7.3单元测试过程 291
7.3.1创建测试程序 291
7.3.2运行测试程序 294
7.3.3测试数据访问代码 295
7.3.4使用Generate from Usage特性 302
7.4其他Visual Studio版本 306
7.5第三方测试框架 306
7.6小结 307
第Ⅱ部分 业务对象和数据访问 311
第8章 数组、集合和泛型 311
8.1数组 312
8.1.1多维数组 313
8.1.2 UBound函数 314
8.1.3 ReDim语句 314
8.1.4 Preserve关键字 315
8.2集合 315
8.2.1循环语句 317
8.2.2装箱 319
8.3泛型 320
8.3.1泛型的使用 321
8.3.2 Nullable类型 322
8.3.3泛型类型 323
8.3.4泛型方法 326
8.4创建泛型 327
8.4.1泛型类型 328
8.4.2泛型方法 334
8.4.3约束 335
8.4.4泛型和后期绑定 338
8.4.5协变和逆变 339
8.5小结 340
第9章 在VB中使用XML 341
9.1 XML简介 342
9.2 XML序列化 343
9.3 System.Xml文档支持 348
9.4 XML流样式分析程序 348
9.4.1写入XML流 349
9.4.2读取XML流 352
9.4.3文档对象模型(DOM) 360
9.5 XSLT转换 364
9.5.1使用XSLT转换不同的XML标准 367
9.5.2 System.Xml.Xsl中定义的其他类和接口 370
9.6 ASP.NET中的XML 370
9.6.1 XmlDataSource服务器控件 370
9.6.2 XmlDataSource控件的名称空间问题 374
9.6.3 Xml服务器控件 375
9.7 LINQ to XML 376
9.8 LINQ to XML帮助对象 376
9.8.1 XDocument对象 377
9.8.2 XElement对象 377
9.8.3 XNamespace对象 378
9.8.4 XAttribute对象 380
9.9 Visual Basic和XML字面量 381
9.10使用LINQ查询XML文档 382
9.10.1查询静态的XML文档 382
9.10.2查询动态的XML文档 384
9.11处理XML文档 385
9.11.1读取XML文档 385
9.11.2写入XML文档 386
9.12 VB中的Lambda表达式 387
9.13小结 389
第10章 ADO.NET和LINQ 391
10.1 ADO.NET的体系结构 392
10.2 ADO.NET的基本功能 393
10.2.1 ADO.NET的常见任务 393
10.2.2 ADO.NET的基本名称空间和类 398
10.2.3 ADO.NET组件 399
10.3 .NET数据提供程序 400
10.3.1 Connection对象 400
10.3.2 Command对象 401
10.3.3通过Command对象使用存储过程 402
10.3.4 DataReader对象 405
10.3.5命令的异步执行 407
10.3.6 DataAdapter对象 409
10.3.7 SQL Server.NET数据提供程序 413
10.3.8 OLE DB .NET数据提供程序 413
10.4 DataSet组件 413
10.4.1 DataTableCollection对象 414
10.4.2 DataRelationCollection对象 414
10.4.3 ExtendedProperties属性 414
10.4.4创建和使用DataSet对象 415
10.4.5 ADO.NET的DataTable对象 417
10.4.6 DataSet和DataTable对象的高级ADO.NET特性 418
10.5使用通用提供程序模型 420
10.6 ADO.NET中的连接池 422
10.7 Transactions类和System.Transactions名称空间 423
10.7.1创建事务 423
10.7.2创建资源管理器 425
10.8 LINQ to SQL 425
10.9 LINQ to SQL和Visual Basic 426
10.9.1用LINQ to SQL提取数据:创建控制台应用程序 426
10.9.2 O/R设计器 427
10.9.3创建Product对象 428
10.10对象到LINQ对象的映射 429
10.10.1 DataContext对象 430
10.10.2 Table(TEntity)对象 432
10.11查询数据库 433
10.11.1使用查询表达式 433
10.11.2查询表达式详述 433
10.11.3用表达式过滤 434
10.11.4联接 434
10.11.5数据项的组合 435
10.12存储过程 437
10.13更新数据库 438
10.14小结 440
第11章 使用Entity Framework访问数据 441
11.1对象关系映射 441
11.2 Entity Framework体系结构 442
11.2.1概念模型 443
11.2.2存储模型 446
11.2.3映射模型 447
11.2.4 LINQ to Entities 448
11.2.5 ObjectContext 449
11.3把对象映射到实体上 451
11.3.1简单映射 451
11.3.2对多个对象使用一个表 453
11.3.3对一个对象使用多个表 455
11.4从模型中生成数据库 457
11.5小结 460
第12章 使用SQL Server 461
12.1 SQL Server Compact 462
12.1.1连接SQL Server CompactEdition数据库 463
12.1.2同步数据 466
12.2 SQL Server内置的XML功能 472
12.3 SQL Server中的CLR集成 474
12.3.1决定使用T-SQL还是VB 475
12.3.2创建用户定义的类型 475
12.3.3创建存储过程 487
12.3.4在SQL Server中使用Web服务 493
12.3.5 SQL Server 2008特性 498
12.4 WCF数据服务 499
12.4.1 REST 499
12.4.2 Atom和JSON 499
12.4.3使用WCF数据服务提供数据 500
12.4.4 WCF数据服务的客户端库 504
12.5小结 508
第13章 服务(XML/WCF) 509
13.1服务 510
13.1.1网络角度 510
13.1.2应用程序的发展 510
13.1.3合并网络和应用程序开发 510
13.1.4 Web服务基础 511
13.1.5存在的问题 512
13.1.6其他技术 512
13.1.7 Web服务 513
13.1.8组合起来 514
13.1.9 WCF服务的构成 514
13.2向SOA迈出一大步 515
13.2.1 WCF的功能 516
13.2.2协定和元数据 516
13.2.3使用WS-*协议 517
13.3建立WCF服务 518
13.4建立WCF使用者应用程序 524
13.4.1添加服务引用 525
13.4.2查看引用 526
13.4.3配置文件的修改 529
13.4.4编写使用者应用程序的代码 531
13.5使用数据协定 533
13.6名称空间 535
13.6.1建立主机应用程序 535
13.6.2建立使用者应用程序 536
13.6.3查看HelloCustomer Service的WSDL和架构 538
13.7小结 540
第Ⅲ部分 智能客户端应用程序 543
第14章 Windows窗体 543
14.1 System.Windows.Forms名称空间 543
14.2窗体的使用 544
14.2.1设置启动窗体 544
14.2.2通过Sub Main显示窗体 545
14.2.3 Application类的更多内容 545
14.2.4窗体的启动位置 545
14.2.5窗体边框 545
14.2.6始终置顶——TopMost属性 546
14.2.7附属窗体 546
14.2.8改变窗体的透明度 547
14.2.9可视化继承 549
14.2.10滚动窗体 549
14.2.11 MDI窗体 549
14.2.12 VB2010中的MDI样例 550
14.2.13对话框窗体 551
14.2.14运行时的窗体 553
14.2.15默认的窗体实例 554
14.3控件 554
14.3.1以Tab键切换控件的顺序 554
14.3.2所有控件的属性 555
14.3.3动态调整控件的大小和布局 555
14.3.4 FlowLayoutPanel控件 557
14.3.5 TableLayoutPanel控件 558
14.3.6 Panel和GroupBox容器控件 559
14.3.7扩展的Provider控件 560
14.3.8数据输入的高级功能 562
14.3.9验证数据输入 564
14.3.10工具栏与ToolStrip控件 565
14.3.11菜单 568
14.3.12通用对话框 569
14.3.13拖放操作 571
14.3.14标准Windows窗体控件小结 573
14.3.15处理相关控件组 575
14.3.16在运行时添加控件 576
14.4其他编程技巧 577
14.5小结 577
第15章 Windows窗体的高级功能 579
15.1在可视化控件中封装逻辑 579
15.2在Windows窗体中开发自定义的控件 580
15.2.1继承现有的控件 580
15.2.2构建复合控件 580
15.2.3从头编写控件 581
15.3继承现有的控件 581
15.3.1基本步骤 581
15.3.2给派生的控件添加代码 581
15.3.3其他有用的特性 584
15.3.4为派生的控件自定义事件 585
15.3.5限制选中项数的CheckedListBox 586
15.4 Control与UserControl基类 589
15.4.1 Control类 589
15.4.2 UserControl类 589
15.5复合控件 590
15.5.1创建复合的User-Control 591
15.5.2改变控件的大小 591
15.5.3提供子控件的属性 592
15.5.4一个具体的例子 592
15.6从头构建控件 595
15.7给工具箱中的控件添加图标 600
15.8在控件中嵌入其他控件 601
15.9小结 602
第16章 集成WPF和Windows窗体的用户控件 605
16.1集成库 606
16.2在Windows窗体中包含WPF控件 607
16.2.1创建WPF控件库 608
16.2.2 Windows窗体应用程序 610
16.3在WPF中包含Windows窗体控件 616
16.4集成的限制 621
16.5小结 622
第17章 WPF桌面应用程序 623
17.1内容、位置、原因、方式——WPF策略 624
17.2光栅图形和矢量图形 625
17.3下一个Windows项目应使用WPF吗 625
17.4创建WPF应用程序 626
17.4.1实现定制的WPF应用程序 627
17.4.2定制用户界面 639
17.4.3定制按钮 647
17.4.4 WPF用户控件 651
17.5小结 672
第18章 Expression Blend 3 675
18.1了解Blend 676
18.2 SketchFlow 682
18.2.1第一个SketchFlow 682
18.2.2 SketchFlow Player 685
18.2.3归档SketchFlow 686
18.3小结 686
第19章 Silverlight 687
19.1什么是Silverlight 687
19.1.1 Smooth Streaming特性 688
19.1.2业界标准视频 688
19.1.3数字版权管理 688
19.2启动Silverlight项目 688
19.2.1 Silverlight应用程序 689
19.2.2 Silverlight导航应用程序 689
19.2.3 Silverlight类库 690
19.3 Silverlight解决方案 691
19.3.1 Web应用程序 691
19.3.2应用程序库缓存 691
19.3.3 Silverlight应用程序 692
19.4控件 695
19.5给Silverlight项目添加项 702
19.5.1 Silverlight用户控件 703
19.5.2 Silverlight应用程序类 703
19.5.3 Silverlight页面 703
19.5.4 Silverlight子窗口 703
19.5.5 Silverlight模板控件 703
19.5.6 Silverlight资源字典 704
19.6浏览器之外的Silverlight 704
19.7小结 705
第Ⅳ部分 Internet应用程序技术 709
第20章 Silverlight和服务 709
20.1服务和Silverlight 709
20.1.1 ASMX Web服务 709
20.1.2 WCF服务 712
20.1.3 ADO.NET数据服务 716
20.2 Model-View-ViewModel 725
20.2.1分割 725
20.2.2 Model 725
20.2.3 View 728
20.2.4 ViewModel 729
20.3小结 729
第21章 使用ASP.NET 731
21.1 ASP.NET的历史 731
21.2 ASP.NET的重要特性 732
21.2.1开发效率 732
21.2.2性能和可伸缩性 732
21.2.3本地化 732
21.2.4健康监控 733
21.2.5易于访问数据 733
21.2.6管理和维护 733
21.3 Visual Studio对ASP.NET的支持 733
21.3.1 Web Site和WebApplication项目 733
21.3.2 ASP.NET应用程序文件夹 734
21.3.3 Web服务器选项 735
21.4用Web窗体构建ASP.NET应用程序 735
21.5数据驱动的应用程序 746
21.5.1使用Sq1DataSource控件绑定数据 746
21.5.2使用LinqDataSource控件绑定数据 754
21.5.3使用ObjectDastaSource控件绑定数据 757
21.6小结 759
第22章 ASP.NET的高级功能 761
22.1母版页 761
22.1.1创建母版页 762
22.1.2创建内容页 765
22.1.3为母版页提供默认内容 767
22.2导航 767
22.2.1使用SiteMapPath服务器控件 769
22.2.2 Menu服务器控件 770
22.3使用ASP.NET的提供程序模型 771
22.4成员和角色管理 776
22.5配置文件属性 781
22.6 Microsoft Ajax(ASP.NET AJAX) 783
22.6.1理解对Ajax的需求 783
22.6.2 Microsoft Ajax的实现 784
22.6.3 UpdatePanel控件和客户端服务调用 785
22.6.4示例项目 785
22.6.5添加UpdatePanel控件 789
22.6.6使用客户端服务调用和客户端模板 790
22.7小结 795
第23章 ASP.NET MVC 797
23.1 MVC和ASP.NET 798
23.2构建ASP.NET MVC应用程序 798
23.2.1创建项目 798
23.2.2控制器和操作 800
23.2.3添加模型 802
23.2.4视图 804
23.2.5路由 807
23.2.6搭框架和CRUD操作 808
23.2.7验证 815
23.3小结 817
第24章 SharePoint 2010开发 819
24.1简介 819
24.1.1 SharePoint Foundation2010 820
24.1.2 SharePoint Server 2010 820
24.1.3 SharePoint的术语 820
24.1.4 SharePoint开发环境 821
24.2 Feature和Solution Framework 821
24.2.1 Feature 821
24.2.2 Solution Framework 829
24.3用于SharePoint开发的Visual Studio工具 833
24.4 SharePoint 2010对象模型 839
24.4.1服务器对象模型 840
24.4.2客户端对象模型 843
24.5构建Web部件 845
24.6小结 851
第V部分 库和专业主题技术 855
第25章 Visual Studio Tools for Office 855
25.1 VSTO的各个版本 856
25.1.1 Offce的自动化功能和VSTO 856
25.1.2免PIA部署 856
25.1.3 VSTO项目类型 857
25.2 Office业务应用程序的体系结构 858
25.3使用VBA和VSTO 859
25.4创建文档模板(Word) 864
25.4.1给文档添加内容 866
25.4.2添加Ribbon和操作窗格 867
25.4.3激活操作窗格 870
25.4.4更新内容控件 872
25.5创建Office插件(Excel) 875
25.6 Outlook Form Regions 881
25.7小结 889
第26章 Windows Workflow Foundation 891
26.1应用程序中的工作流 891
26.2建立工作流 892
26.2.1用Windows Workflow Foundation添加工作流 892
26.2.2一个简单的工作流 894
26.2.3标准活动 897
26.2.4一个不太简单的工作流 899
26.2.5建立定制活动 907
26.2.6动态加载工作流 911
26.3重新构建工作流设计器 912
26.4小结 915
第27章 本地化 917
27.1文化和区域 917
27.1.1理解文化类型 918
27.1.2线程 919
27.1.3在ASP.NET中声明全局文化 921
27.1.4在ASP.NET中使用文化设置 922
27.2转换数值和操作 923
27.2.1理解日期之间的区别 923
27.2.2理解数字和货币的区别 925
27.2.3理解排序字符串的区别 927
27.3 ASP.NET资源文件 929
27.3.1使用本地资源 929
27.3.2全局资源 933
27.4 Windows窗体中的资源文件 935
27.5小结 938
第28章 与COM的交互操作 939
28.1理解COM 940
28.2 COM和.NET的交互 940
28.2.1传统的组件 941
28.2.2 .NET应用程序 942
28.2.3调试 945
28.2.4直接使用TlbImp 945
28.2.5后期绑定 946
28.3 ActiveX控件 950
28.3.1传统的ActiveX控件 950
28.3.2另一个.NET应用程序 952
28.3.3再次调试 954
28.4在COM应用程序中使用.NET组件 954
28.4.1 .NET组件 954
28.4.2 RegAsm 956
28.4.3 TlbExp 957
28.5 P/Invoke 957
28.6小结 957
第29章 网络编程 959
29.1协议、地址和端口 959
29.1.1地址与计算机名 961
29.1.2端口:指定应用程序 961
29.1.3防火墙:不离不弃 962
29.2 System.Net名称空间 963
29.2.1 Web请求与响应 963
29.2.2使用WebClient简化常用的Web请求 969
29.3套接字 970
29.3.1构建应用程序 971
29.3.2创建Conversation窗口 973
29.3.3发送消息 980
29.3.4关闭应用程序 984
29.4在应用程序中使用Internet Explorer 988
29.5小结 991
第30章 应用程序服务 993
30.1给应用程序服务使用IIS 993
30.2 Windows服务 993
30.3 Windows服务的特性 994
30.4与Windows服务交互 995
30.5创建Windows服务 996
30.5.1用于Windows服务的.NET Framework类 996
30.5.2其他类型的Windows服务 998
30.6在VB中创建Windows服务 998
30.7创建文件监视器服务 1000
30.7.1创建Windows服务的解决方案 1000
30.7.2给服务添加.NET组件 1000
30.7.3安装服务 1003
30.7.4启动服务 1004
30.7.5卸载服务 1005
30.8与服务通信 1005
30.8.1 ServiceController类 1006
30.8.2把ServiceController集成到例子中 1007
30.8.3 ServiceController的更多内容 1008
30.9定制命令 1008
30.10给服务传递字符串 1010
30.11调试服务 1010
30.12小结 1012
第31章 程序集和反射 1013
31.1程序集 1013
31.2清单 1014
31.2.1程序集标识部分 1016
31.2.2引用的程序集 1018
31.3程序集与部署 1018
31.3.1应用程序私有的程序集 1018
31.3.2共享程序集 1019
31.4版本化问题 1020
31.4.1应用程序隔离 1020
31.4.2并行执行 1020
31.4.3自描述 1021
31.4.4版本策略 1021
31.4.5配置文件 1022
31.5反射基础 1025
31.5.1 Assembly类 1026
31.5.2获得当前加载的程序集 1026
31.5.3 Type类 1027
31.6程序集的动态加载 1028
31.6.1 Assembly类的LoadFrom方法 1028
31.6.2动态加载示例 1029
31.6.3传入程序集 1030
31.7小结 1031
第32章 .NET Framework中的安全性 1033
32.1安全的概念与定义 1034
32.2 System.Security.Permissions名称空间中的权限 1035
32.2.1代码访问权限 1037
32.2.2身份权限 1038
32.2.3基于角色的权限 1038
32.3管理代码访问权限集合 1041
32.4用户访问控制 1043
32.5定义应用程序的UAC设置 1043
32.5.1安全性工具 1045
32.5.2使用Security Exception类处理异常 1046
32.6加密基础 1047
32.7小结 1060
第33章 使用任务和线程进行并行编程 1061
33.1启动并行任务 1061
33.1.1 System.Threading.Tasks.Parallel类 1062
33.1.2 Parallel.Invoke 1062
33.2把串行代码转换为并行代码 1066
33.2.1检测热点 1067
33.2.2测试并行执行获得的速度提升 1069
33.2.3理解并行和并发执行 1070
33.3并行循环 1071
33.3.1 Paralle1.For 1071
33.3.2 Paralle1.ForEach 1076
33.3.3退出并行循环 1081
33.4指定希望的并行度 1086
33.4.1 ParallelOptions 1086
33.4.2理解硬件线程和逻辑核心 1087
33.5创建和管理任务 1088
33.5.1 System.Threading.Tasks.Task 1089
33.5.2理解任务的生命周期 1090
33.5.3使用任务并行化代码 1091
33.5.4从任务中返回值 1099
33.5.5为并发和并行准备代码 1102
33.5.6理解并发集合特性 1103
33.5.7把LINQ转换为PLINQ 1106
33.6小结 1108
第34章 部署 1109
34.1应用程序部署 1110
34.1.1 .NET中的部署很简单 1110
34.1.2 XCOPY部署 1110
34.1.3使用Windows Installer 1110
34.1.4 ClickOnce部署 1111
34.2选择Framework版本 1111
34.3 Visual Studio部署项目 1112
34.3.1项目模板 1112
34.3.2创建部署项目 1113
34.4修改部署项目 1117
34.4.1项目属性 1117
34.4.2 File System编辑器 1119
34.4.3 Registty编辑器 1122
34.4.4 File Types编辑器 1124
34.4.5 User Interface编辑器 1125
34.4.6 Custom Actions编辑器 1127
34.4.7 Launch Conditions编辑器 1129
34.4.8构建 1132
34.5 Windows应用程序的Internet部署 1132
34.5.1“无接触”部署 1132
34.5.2 ClickOnce部署 1133
34.6 IIS Web部署工具 1140
34.7小结 1142
第Ⅵ部分 附录 1145
附录A VB编译器 1145
附录B Visual Basic Power PacksTools 1161
附录C Workflow 2008 1173
附录D 企业服务 1193
附录E 云的编程 1215