首页 > NET简介

NET简介

1,NET简史

  • 2000年 NET框架1.0测试版诞生。
  • 2002年2月 NET框架1.0正式版发布,对应的工具为VS2002。
  • 2003年4月 NET框架1.1发布,对应的工具为VS2003。
  • 2005年11月 NET框架2.0发布,对应的工具为VS2005,这一版本是.NET的第一个稳定成熟的版本。
  • 2007年11月.NET3.5发布,和NET2.0相比,1).NET编程语言(C#等)被做了修改,比如增加了一些关键字(如var),增加了一些新的语法特性(如lambda关键字)。2)增加了如下新技术:WPF,WCF,WF,LINQ,对应的工具为VS2008。
  • 2008年8月 NET3.5SP1发布,新增的内容:1)ADO.NET Entity Framework。 2) ADO.NET Data Service。 3)ASP.NET增加了 动态数据和路由两个新特性。4)VS2008中集成了开发ASP.NET MVC的功能。
  • 2010年 .NET4.0发布,变化内容:1)CLR从2.0升级为CLR4.0(注意:之前的.NET版本虽有变化,但CLR一直为2.0) 2)增加DLR(动态语言运行时)。对应的工具为VS2010,注意,VS2010用WPF开发。

各个版本操作系统中NET的集成情况:

  • NET3.5集成在WIN7,WIN2008 R2中
  • NET2.0集成在VISTA,WIN2008中
  • 其它详情可参看一位博友的文章:Windows 操作系统与 .NET Framework

2,NET简说

  • 开发一个NET程序后,需要由CLR来执行,具体过程:开发一个C#程序--->编译成功---->CLR执行--->调用操作系统API。
  • NET程序编译后成为程序集,一般是.exe或.dll文件,这些文件里面是IL代码和元数据,这里的IL代码和元数据以二进制形式存储,无法直接查看,需要由反汇编器来查看,如ILdasm或Reflector。
  • .exe文件或.dll文件被CLR调用执行时,会先被JIT编译为本地代码,然后执行。所谓本地代码,就是针对你这台计算机的CPU而生成的机器码,所以,NET程序最终还是被编译成二进制代码而执行的,与传统的WIN32程序执行一样,但还是有一个重要区别:NET程序运行在CLR上,完全由CLR控制,即使抛出异常,也由CLR来处理;WIN32程序则直接运行在WINDOWS系统上面。
  • NET的出现并不意味着我们学习成本的降低,实现某些复杂或底层的东西仍然离不开C/C++,我认为.NET出现的目的有两个:1,对开发商而言降低开发成本,提高开发效率。2,对微软而言,需要NET来稳固企业市场,特别是操作系统、服务器的市场以及未来的新兴市场。
  • 客观的讲,NET能实现的东东,使用传统技术也能实现,不过确实比.NET麻烦些。

3,NET程序

程序类型有以下几种:

1)WINDOWS程序,就是桌面程序、对NET2.0来说是Winform程序,NET3.0及以后推出了WPF桌面程序开发技术。

2)WEB程序,有ASP.NET应用程序,ASP.NET MVC应用程序,ASP.NET MVC的基础是ASP.NET。

3)其它类型的程序:如WCF程序,Web Service程序,Windows服务等等。

4 NET与移动互联网

主要是Windows Phone7及以后的版本,可以用C#,HTML5在上面开发应用。

5,NET4.0及未来

  • NET4.0在CLR之上增加了DLR,允许C#等静态语言像Python一样具有动态特性。
  • 通过NET的发展可以看出来,NET平台具有很强的可扩展性,主要是因为其分离的设计,在应用程序和操作系统之间搞了一个CLR,针对CLR做各种扩展,各种修改,就会衍生出N多所谓新技术,另外语言编译器和IL编译器几乎互不影响,可以独立的修改和扩展,这也使得具体语言可以比较容易的增加新特性,比如C#中出现的各种简写,LINQ,lambda表达式等等。

NET平台的技术太多,这里只是说了一部分。

转载于:https://www.cnblogs.com/imap/archive/2012/03/20/2406878.html

更多相关:

  • 最近公司要做一个企业微信的小程序,方便企业内的成员来登录,以便一些公司内的业务,只限于公司内的成员来操作,因为有微信小程序的开发经验,所以先当作微信小程序来开发了!首先来讲一下这个企业微信小程序与微信小程序登录的不同,下面是微信小程序登录的流程:小程序内需要调用wx.login(),获取临时登录凭证code,并回传到开发者服务器,然后...

  • sys.argv[]说白了就是一个从程序外部获取参数的桥梁,这个“外部”很关键,因为我们从外部取得的参数可以是多个,所以获得的是一个列表(list),也就是说sys.argv其实可以看作是一个列表,所以才能用[]提取其中的元素。其第一个元素是程序本身,随后才依次是外部给予的参数。下面我们通过一个极简单的test.py程序的运行结果来说...

  •   标题:创意虾-程序纹理Blender大师班 信息: 什么是程序纹理? 程序纹理将简单的数学转换为无限的真实感着色器,具有无限的多样性和分辨率。 超越看起来像一团像素特写的图像纹理,运用程序纹理的力量,清晰的细节和没有重复的模式。 你是不是在玩节点滑块,得到了一些有趣的结果,但不确定引擎盖下到底发生了什么?掌握了节...

  • gprof用于分析函数调用耗时,可用gprof分析最耗时的函数,以便优化程序。 gcc链接时也一定要加-pg参数,以使程序运行结束后生成gmon.out文件,供gprof分析。 gprof默认不支持多线程程序,默认不支持共享库程序。 gcc 编译程序时添加编译选项-pg 运行程序,程序退出时生成 gmon.outgprof ./...

  • 一.虚拟机、linux简介 简单介绍一下虚拟机还有就是各种操作系统,比如centos,Ubuntu 操作系统:linux(centos、Ubuntu、redhat),Android,Windows(xp、win8、win10) 进程,多个程序,分时技术,并行技术 一次打开多个程序,我们在只有一个cpu,如何让这些程序进...