.NET Framework概念及开发浅析

开发 后端
.NET Framework概念是什么呢?.NET Framework开发又是如何的呢?那么本文就向你详细介绍这方面的内容。

.NET Framework概念是什么呢?它是Microsoft为开发应用程序而搭建的一个功能强大创新较多的新平台。目前.NET Framework现在的版本要运行在Windows操作系统上,将来会推出运行在其他操作系统上的版本,例如mono,包括各种linux版本合mac OS。另外还会被执行在个人数字助手(PDA)类设备合一些智能电话上。.NET Framework可以创建windows应用程序、web应用程序、web服务合其他各种类型的应用程序。

.NET Framework的设计方式保证它可以使用各种语言,C++/vb/j#/甚至一些旧的语言等。当然重点还是我们的C#,毕竟它是microsoft专门为.NET Framework设计的程序设计语言。

为了执行C#代码,必须把它们转换为操作系统能够理解的语言,即本机代码,这种转换的过程称为编译代码,由编译器执行。在.NET Framework下分为两个阶段。

首先,在编译使用.NET Framework库的代码时,不是立即创建操作系统特定的本机代码,而是把代码编译为Microsoft中间语言(Microsoft Intermediate Language,MSIL)代码,这些代码是可以跨平台的。

显然,要执行应用程序这些是不够的,还需要进行二次编译。就是刚上述说的MSIL中间代码编译为用于OS和目标及其结构的本机代码。这样OS才能执行应用程序。

.NET Framework概念及开发之程序集

在编译应用程序时,所创建的MSIL代码被存储在一个程序集中,程序集包括可执行的应用程序文件(这些文件可以在windows上运行,不需要其他程序,扩展名是.exe)和其他应用程序使用的库(其扩展名是.dll)。

除了包含MSIL外,程序集还包含元信息(即程序集中包含的数据的信息,也称为元数据)和可选的资源(MSIL使用的其他数据,例如声音文件和图片)。元信息可以把需要的数据添加到系统注册表中,而这种情形在使用其他平台进行开发时常常不能够实现。

.NET Framework概念及开发之托管代码

在把代码编译为MSIL,再用编译器把它编译为本机代码后,CLR(公共语言运行库)的任务还没有完全完成。用.NET Framework编写的代码在运行(runtime)是托管的。即CLR会管理这应用程序的内存、处理安全性、允许进行跨语言调试等。

.NET Framework概念及开发之垃圾回收

托管代码最重要的一个功能是垃圾回收(garbage collection)。这可以确保应用程序不再使用某些内存时,这些内存就会被完全释放。不像与以前,这项工作主要由程序员负责,代码中的几个简单错误就会把大块内存分配到错误的地方,使这些内存神秘失踪。这通常让计算机的速度逐渐变慢,甚至导致系统崩溃。

这里需要注意的事,因为这项工作在不可预知的时间进行,所以在设计应用程序时,必须记得要进行这样的检查。毕竟它没有很人性化,需要许多内存才能运行的代码应自己执行这样的检查,而不是坐等垃圾回收,呵呵。

把它们组合在一起

在继续学习之前,先总结一下上述创建.NET应用程序所需要的步骤:

1、使用某种.NET兼容语言(如C#)编写好应用程序代码。

2、把代码编译为MSIL(中间语言),并存储在程序集中。

3、执行代码,将MSIL编译为本机代码。

4、在托管的CLR环境下运行本机代码,执行应用程序。

.NET Framework概念及开发的相关内容就向你介绍到这里,希望对你了解和学习.NET Framework概念及开发有所帮助。

【编辑推荐】

  1. C#串口编程步骤详解
  2. 创建C#串口通信程序详解
  3. 详解C#串口监听的实现
  4. C#入门之概念简介
  5. C#入门之C#特点浅析
责任编辑:仲衡 来源: 博客园
相关推荐

2009-07-31 09:32:04

ASP.NET缓存概念ASP.NET缓存应用

2009-08-26 14:16:17

C# FrameWor

2009-09-09 16:46:59

C# XmlSeria

2009-08-27 10:20:03

C# foreach语

2009-08-18 09:51:18

C#枚举类型

2009-08-20 18:47:19

C#异步通信

2009-09-04 16:37:37

C# DES算法

2009-08-24 15:28:19

C# 泛型方法

2009-07-03 18:26:11

Servlet过滤器

2009-08-24 17:39:21

C# 泛型集合

2010-01-06 18:21:24

2009-09-01 16:10:28

C#单元测试

2010-01-06 19:22:43

.NET Framew

2010-01-06 16:45:42

.Net Framew

2010-01-05 10:29:43

.NET Framew

2010-01-05 16:15:05

.NET Framew

2009-07-29 16:41:45

ASP.NET页面框架

2009-07-17 14:51:22

.Net Micro

2010-01-05 16:31:45

.NET Framew

2010-01-05 14:04:53

.NET Framew
点赞
收藏

51CTO技术栈公众号