码迷,mamicode.com
首页 > Windows程序 > 详细

.Net Framework与C#

时间:2015-07-02 06:33:54      阅读:224      评论:0      收藏:0      [点我收藏+]

标签:

  • .NET Framework 简介
  • .NET Framework应用程序工作原理
  • C#概念及其与.NET Framework关系

 

  • .NET Framework简介

        Microsoft .NET Framework是用于Windows的新托管代码编程模型。它将强大的功能与新技术结合起来,用于构建具有视觉上引人注目的用户体验的应用程序,实现跨技术边界的无缝通信,并且能支持各种业务流程。

  1. .NET 版本信息:

版本

CLR版本

完整版本号

发行日期

Visual Studio

Windows 默认安装

1.0

1.0

1.0.3705.0

2002/2/13

Visual Studio .NET 2002

Windows XP Media Center Edition

 

 

 

 

 

Windows XP Tablet PC Edition

1.1

1.1

1.1.4322.573

2003/4/24

Visual Studio .NET 2003

Windows Server 2003

2.0

2.0

2.0.50727.42

2005/11/7

Visual Studio 2005

 

3.0

2.0

3.0.4506.30

2006/11/6

 

Windows Vista

 

 

 

 

 

Windows Server 2008

3.5

2.0

3.5.21022.8

2007/11/19

Visual Studio 2008

Windows 7

 

 

 

 

 

Windows Server 2008 R2

4.0

4.0

4.0.30319.1

2010/4/12

Visual Studio 2010

 

4.5

4.0

4.5.40805

2012/2/20

Visual Studio 2012 RC

Windows 8 RP

 

 

 

 

 

Windows Server 8 RC

  • .NET Framework工作原理
  1. CILJIT

        在编译使用.NET Framework库的代码时,不是立即创建专用于操作系统的本机代码,而是把代码编译为通用的中间语言(CIL)代码,这些代码并非专门用于任何一种操作系统,也并非专门用于C#。其他的.NET语言也可以在第一阶段编译为这种语言。

显然,要执行应用程序,必须完成更多的工作,这是Just-In-Time(JIT)编译器的任务,它把CIL编译为专用于OS和目标及其结构的本机代码。这样OS才能执行应用程序。

  2.  程序集:

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

        除了包含CIL外,程序集还包含元信息(即程序集中包含的数据的信息,也称为元数据)和可选资源(CIL使用的其他数据,例如,声音文件或图片)。元信息允许程序集是完全自描述的。不需要其他信息就可以使用程序集。这样,部署应用程序就非常简单了,只需要把文件复制到远程计算机上的目录下即可。通常,我们把那些可重用的代码放在所有应用程序都可以访问的地方。在.NET Framework中,这个地方是全局程序集缓存(Global Assembly CacheGAC),我们只需要把包含代码的程序集放在该缓存对应的位置即可。

  3.  托管代码:

       在将代码编译为CIL,再用JIT编译器将它编译为本机代码后,CLR的任务还没有全部完成,还需要管理正在执行的用.NET Framework编写的代码(这个执行代码的阶段通常称为运行时,RunTime)。即CLR管理着应用程序,其方式是管理内存、处理安全性以及允许进行跨语言调试等。相反,不受CLR控制运行的应用程序属于非托管类型,某些语言如C++可以用于编写这类应用程序,例如,访问操作系统的低级功能。但是在C#中,只能编写在托管环境下运行的代码。我们将使用CLR托管功能,让.NET自己与操作系统进行交互。

  4.  垃圾回收:

       托管代码最重要的一个功能是垃圾回收。这种.NET方法可以确保应用程序不再使用某些内存时,就会完全释放这些资源。.NET垃圾回收会定期检查计算机内存,从中删除不再需要的内容。它不设置时间帧,可能一秒钟内会进行上千次的检查,也可能几秒钟才检查一次,或者随时进行检查,但一定会进行检查。

在编程时,如果需要许多内存才能运行的代码应自己执行这样的检查,而不是坐等垃圾回收。

  • C#概念及其与.NET Framework关系
  1. C#语言:

C#是一种安全的、稳定的、简单的、优雅的,由CC++衍生出来的面向对象的编程语言。它在继承CC++强大功能的同时去掉了一些它们的复杂特性(例如没有宏以及不允许多重继承)。C#综合了VB简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。

  2.  C#.NET关系:

C#只是.NET开发的一种语言。

 

 

 

.Net Framework与C#

标签:

原文地址:http://www.cnblogs.com/haizhibin1989/p/4615026.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!