日期:2013-06-20  浏览次数:20415 次

摘要:本文包含有关 Microsoft .NET 和 Microsoft .NET 框架的常见问题。

目录
概念问题
运行时技术问题
术语
程序集
应用程序部署及隔离
垃圾回收
远程处理
互操作性
安全性

概念问题
什么是 .NET?


什么是 .NET 框架?


.NET 框架是否只适用于创建 Web 站点的用户?


从何处可以获得 .NET 框架 SDK?


.NET 框架可以运行于哪些平台?


.NET 框架支持哪些编程语言?


.NET 框架和 COM+ 服务之间是什么关系?


.NET 框架和 DCOM 之间是什么关系?


.NET 框架是否仅仅是 Windows DNA 的新名称?
运行时技术问题
术语
什么是公共语言运行时 (CLR)?


什么是公共类型系统 (CTS)?


什么是公共语言规范 (CLS)?


什么是 Microsoft 中间语言 (MSIL)?


什么是托管代码和托管数据?
程序集
什么是程序集?


什么是专用程序集和共享程序集?


如果我想创建一个共享程序集,在标记和管理密钥对方面是否需要额外的开销?


名称空间与程序集名称之间有什么区别?
应用程序部署和隔离
部署 .NET 应用程序时可以使用哪些选项?


如果我已经编写了一个程序集,并希望在多个应用程序中使用它,我应该在何处部署它?


如何才能看到在全局程序集缓存中安装了哪些程序集?


什么是应用程序域?
垃圾回收
什么是垃圾回收?


非确定性垃圾回收是如何影响代码的?


是否能够避免使用可作为垃圾回收的堆?
远程处理
如何在公共语言运行时中进行进程内和进程间通讯?
互操作性
是否可以在 .NET 框架程序中使用 COM 对象?


是否可以在 COM 程序中使用 .NET 框架组件?


是否可以在 .NET 框架程序中使用 Win32 API?
安全性
如何使代码与安全系统协调工作?


为什么在网络共享驱动器中运行代码时会发生安全异常?


如何编写代码,使它在安全系统停止该代码时运行?


如何管理个人或企业计算机的安全性?


基于证据的安全性是如何与 Windows 2000 安全性配合工作的?
概念问题
什么是 .NET?
简单地说,Microsoft® .NET 是 Microsoft 以服务的方式递交软件的一种策略。有关完整信息,请参阅有关该主题的白皮书(英文)。

以下是白皮书的摘要,简要介绍了 .NET 的关键内容:

Microsoft .NET 平台
包括用于创建和操作新一代服务的 .NET 基础结构和工具、用于实施多信息客户端的 .NET 用户经验,以及用于启用新一代智能 Internet 设备的 .NET 构造块服务和 .NET 设备软件。


Microsoft .NET 产品和服务
包括 Microsoft® Windows.NET(其核心集成了一组构造块服务)、MSN.NET、个人订阅服务、Microsoft® Office.NET、Microsoft® Visual Studio.NET 和 Microsoft® bCentral™ for .NET。


第三方 .NET 服务
许多领域的合作伙伴和开发人员都有机会在 .NET 平台上提供企业和垂直服务。
此问题针对的是 .NET 框架。.NET 框架是 .NET 平台基础结构的一部分。有关 .NET 框架的详细信息,请参阅下一个问题。

返回页首

什么是 .NET 框架?
.NET 框架是创建、部署和运行 Web 服务及其他应用程序的一个环境。它包括三个主要部分:公共语言运行时、框架类和 ASP.NET。

返回页首

.NET 框架是否只适用于创建 Web 站点的用户?
.NET 框架使您可以创建优秀的 Web 应用程序。但它也可以帮助您创建现在的各种应用程序。与当前创建应用程序的方式相比,.NET 在编写任何 Windows 软件(使用 ATL/COM、MFC、Microsoft® Visual Basic® 或标准 Microsoft® Win32®)方面都具有更大的优势。当然,如果您是开发 Web 站点,那么从 ASP.NET 开始,您就会感受到 .NET 框架的强大吸引力。

返回页首

从何处可以获得 .NET 框架 SDK?
现在可以从 MSDN Online Downloads(英文)下载 .NET 框架 SDK 的 Beta 1 版。鉴于其大小,我们以多种方式提供此 Beta 版:作为一个下载文件 (106 MB),分为 11 部分下载,或者从 Microsoft Developer Store 定购其 CD:

美国/加拿大(英语)


国际(英语)
返回页首

.NET 框架可以运行于哪些平台?
Beta 1 版可以运行在 Microsoft® Windows® 2000、Windows 95/98/ME 和 Windows NT® 4.0 上。

另外,还有一个称为 .NET 精简框架的 .NET 框架版本。它用于使蜂窝电话和增强型电视等设备也具有 .NET 框架的某些功能。.NET 精简框架将运行在 Windows CE 和其他嵌入式操作系统上。

返回页首

.NET 框架支持哪些编程语言?
.NET 框架与编程语言无关。事实上任何语言都可以支持 .NET 框架。目前,您可以用许多语言来创建 .NET 程序,包括:C++、Microsoft® Visual Basic.NET、JScript® 和 Microsoft 的最新语言——C#。以后,也会有大量的第三方语言可以用来创建 .NET 框架应用程序,包括 COBOL、Eiffel、Perl、Python、Smalltalk 等等。

返回页首

.NET 框架和 COM+ 服务之间是什么关系?
在 .NET 框架中,不仅可以完全访问 COM+ 服务,而且也更容易创建服务组件。

.NET 框架组件可被添加至 COM+ 应用程序中。在 COM+ 应用程序中,.NET 框架组件可以利用自动组件服务,例如:事务、对象池、排队组件、事件等等。

返回页首

.NET 框架和 DCOM 之间是什么关系?
DCOM 是用于进程间通讯的 COM 基础结构。.NET 框架支持大量用于进程间通讯的可插入通道和格式化程序。在托管代码和非托管代码之间进行转换时,.NET 框架使用了 COM 基础结构,尤其是 DCOM。所有使用 COM+ 服务的方案都使用了托管到非托管转换,因此默认使用 DCOM。对于注重互操作性的进程间通讯,.NET 框架也支持 SOAP(简单对象访问协议)。

返回页首

.NET 框架是否仅仅是 Windows DNA 的新名称?
不。Windows DNA 是用于创建紧耦合的分布式 Web 应用程序的一种体系结构。由于分布式应用程序变得需要更多的松耦合原理,因此 Microsoft 在 .NET 中发展了该体系结构。.NET 框架是 .NET 体系结构的一部分。

返回页首

运行时技术问题
术语
什么是公共语言运行时 (CLR)?
公共语言运行时是 .NET 框架应用程序的执行引擎。

它提供许多服务,包括:

代码管理(加载和执行)


应用程序内存隔离


类型安全验证


IL 到本机代码的转换


元数据(增强的类型信息)访问


为托管对象管理内存