1. 简介
1.1 什么是 .NET?
1.2 .NET 只是 Windows DNA 的一个新名字吗?
1.3 .NET 只适用于建立 Web 网站吗?
1.4 .NET 是在什么时候宣布的?
1.5 .NET 将在何时发布?
1.6 如何开发 .NET 应用程序
1.7 可以从哪里下载 .NET SDK 和 Visual Studio 7?
1.8 .NET 中的关键技术是什么?
1.9 .NET 框架将运行在什么平台上?
1.10 .NET 框架支持什么语言?
1.11 .NET 框架符合标准化趋势吗?
2. 基本术语
2.1 什么是 CLR?
2.2 什么是 CTS?
2.3 什么是 CLS?
2.4 什么是 IL?
2.5 什么是 C#?
2.6 在 .NET 范畴里,“被管理”是什么含义?
2.7 什么是映像?
3. 元件
3.1 什么是元件?
3.2 怎样创建元件?
3.3 私有元件和共享元件有什么不同?
3.4 元件如何相互找到?
3.5 元件版本如何起作用?
4. 应用程序域
4.1 什么是应用程序域?
4.2 如何创建 AppDomain?
4.3 我能编写自己的 .NET 宿主吗?
5. 垃圾收集
5.1 什么是垃圾收集?
5.2 对对象的最后一个引用撤销后,它并不一定立即被破坏,对吗?
5.3 .NET 为什么不提供确定化的析构?
5.4 在 .NET 中缺少确定化的析构有问题吗?
5.5 确定化的析构是否影响在被管理代码中使用 COM 对象?
5.6 我听说应该避免使用 Finalize 方法,那么是否应该在我的类里实现 Finalize?
5.7 我有控制垃圾收集算法的手段吗?
5.8 我怎么知道垃圾收集器在做什么?
6. 属性
6.1 什么是属性?
6.2 我能创建自己的 metadata 属性吗?
6.3 我能创建自己的 context 属性吗?
7. 代码访问安全性
7.1 什么是代码访问安全性 (CAS)?
7.2 CAS 如何起作用?
7.3 谁定义 CAS 代码组?
7.4 如何定义自己的代码组?
7.5 如何改变代码组的权限集?
7.6 能否创建自己的权限集?
7.7 CAS 有问题时,如何诊断自己的程序?
7.8 我受不了 CAS 带来的麻烦,能否关掉它?
8. 中间语言 (IL)
8.1 我能看到元件的中间语言吗?
8.2 能否通过反向工程从 IL 中获得源代码?
8.3 如何防止别人通过反向工程获得我的代码?
8.4 我能直接用 IL 编程吗?
8.5 IL 能做到 C# 中做不到的事吗?
9. 关于 COM
9.1 COM 消亡了吗?
9.2 DCOM 消亡了吗?
9.3 MTS/COM+ 消亡了吗?
9.4 能在 .NET 中使用 COM 组件吗?
9.5 能在 COM 中使用 .NET 组件吗?
9.6 在 .NET 的世界中 ATL 是多余的吗?
10. 杂项
10.1 .NET 的远程计算如何工作?
10.2 如何在 .NET 程序中获得 Win32 API?
11. 类库
11.1 文件 I/O
11.1.1 如何读文本文件?
11.1.2 如何写文本文件?
11.1.3 如何读写二进制文件?
11.1.4 如何删除文件?
11.2 文本处理
11.2.1 是否支持正规表达式?
11.3 Internet
11.3.1 如何下载网页?
11.3.2 如何使用代理服务器 (proxy)?
11.4 XML
11.4.1 是否支持 DOM?
11.4.2 是否支持 SAX?
11.4.3 是否支持 XPath?
11.5 线程
11.5.1 是否支持多线程?
11.5.2 如何产生一个线程?
11.5.3 如何停止一个线程?
11.5.4 怎样使用线程池?
11.5.5 怎样知道我的线程池工作项目是在何时完成的?
11.5.6 怎样防止对数据的并发访问?
11.6 跟踪
11.6.1 有内置的跟踪/日志支持吗?
11.6.2 能否将跟踪输出重定向到一个文件?
11.6.3 能否定制跟踪的输出?
12. 资源
12.1 从哪里可以获得关于 .NET 的详情?
12.2 示例代码和实用程序
1. 简介
1.1 什么是 .NET?
很难用一句话来讲清楚。根据 Microsoft 的说法,.NET 是一个“革命性的新平台,建立在开放的 Internet 协议和标准之上,通过工具和服务将计算和通讯以崭新的方式融合到一起” 。
更为实际的定义是:.NET 是一个开发和运行软件的新环境,便于开发基于 Web 的服务,拥有丰富的运行库服务以支持用多种编程语言编写的组件,具有跨语言和跨平台的互操作能力。
注意,本文中使用术语“.NET”时,它仅指新的 .NET 运行库及其相关技术。有时我们也称其为“.NET 框架”。本文不包括其它 Microsoft 正在往上添加 .NET 名字的任何现有的产品和技术 (例如 SQL Server.NET)。
1.2 .NET 只是 Windows DNA 的一个新名字吗?
不。在很多地方,Windows DNA 仅仅是指使用现有技术的一种途径(即所谓的三阶式途径)的市场术语。.NET 更为急进,并且包括一个完整的软件开发和运行库框架。
1.3 .NET 只适用于建立 Web 网站吗?
不。如果你编写任何 Windows 软件 (使用 ATL/COM、MFC、VB 甚至 Win32 裸接口),.NET 都可能为你正在做的事情提供可行的选择 (或补充)。当然,如果你就是在开发 Web 网站,.NET 有很多令你感兴趣的东西—不仅仅是 ASP+。
1.4 .NET 是在什么时候宣布的?
在 2000 年 6 月 22 日举行的 Forum 2000 论坛上,Bill Gates 做了一次 演说,勾画了 .NET 的“前景”。2000 年 7 月的 PDC 会议上针对 .NET 技术做了很多会谈,会谈代表得到了包含 .NET Framework/SDK 和 Visual Studio 7 预览版的光盘。
1.5 .NET 将在何时发布?
预计是在 2001 年的下半年。