目的是便于开发人员容易地建立 Web 应用程序和 Web 服务,使得 Internet 上的各应用程序之间可以使用 Web 服务进行沟通。
特点:.NET 框架由一个巨大的代码库组成,是一个多语言组件开发和执行环境,它提供了一个跨语言的统一编程环境
可以用来干哈: Windows 应用程序 、 Web 应用程序 、 Web 服务
.NET 框架的组件:
公共语言运行库(Common Language Runtime - CLR)
.NET 框架类库(.NET Framework Class Library)
公共语言规范(Common Language Specification)
通用类型系统(Common Type System)
元数据(Metadata)和组件(Assemblies)
Windows 窗体(Windows Forms)
ASP.NET 和 ASP.NET AJAX
ADO.NET
Windows 工作流基础(Windows Workflow Foundation - WF)
Windows 显示基础(Windows Presentation Foundation)
Windows 通信基础(Windows Communication Foundation - WCF)
LINQ http://ASP.NET 与 http://ADO.NET: http://ASP.NET是内含于.NET框架中,专门用来发展Web应用程序的一组类别库集。 http://ADO.NET是内含于.NET框架中,专门处理与数据源沟通的数据访问类别库集,被Windows Forms与http://ASP.NET应用程序大量使用,可说是.NET框架中唯一的数据访问接口。
CLR与CLI:
.NET的初级组成是公共语言基础(CLI)和 通用中间语言(CIL)。 CLI是一套运作环境规范,包括一般系统、基础类库和与机器无关的中间代码,全称为Common Language Infrastructure。 CLR则是确认操作密码符合CLI的平台。在通用中间语言(CIL)运行前,CLR必须将指令及时编译转换成原始机器代码。
所有CLI都可经由.NET自我表述。CLR检查元数据以确保正确的方法被调用。元数据通常是由语言编译器生成的,但开发人员也可以通过使用客户属性创建他们自己的元数据。如果一种语言实现生成了CLI,它也可以通过使用CLR被调用,这样它就可以与任何其他.NET语言生成的数据相交互。CLR也被设计为操作系统无关性。
当一个汇编体被加载时,CLR运行各种各样的测试。其中的两个测试是确认与核查。在确认的时候,CLR检查汇编体是否包含有效的元数据和CIL,并且检查内部表的正确性。核查则不那么精确。核查机制检查代码是否会运行一些“不安全”的操作。核查所使用的算法非常保守,导致有时一些“安全”的代码也通不过核查。不安全的代码只有在汇编体拥有“跳过核查”许可的情况下才会被运行,通常这意味着代码是安装在本地上的。
注意: 微软的.NET框架是.NET技术的旗舰级实现版本,在此之外还有一些其他实现版本。
1、 .NET Core 是微软开发的跨平台 (Windows、Mac OSX、Linux) 的应用程序开发框架(Application Framework)
2、Mono是一个开源的.NET运行时和开发库实现版本。Mono现正由xamarin公司和开源软件发展社区负责开发。它正迅速发展成熟,现已经包含了对http://ASP.NET和http://ADO.NET的支持,对Windows Forms库的支持也较充分。它提供了一个C#编译器,而一个http://VB.NET编译器现在也已经处于pre-beta阶段。Mono 可运行在多种操作系统上,包括 Android、BSD、iOS、Linux、OS X、Windows、Solaris 和 UNIX。
Mono项目还包含了一些新的库和技术的开发:
Gtk:一个GTK+GUI工具包的.NET封装。 xSP:一个用C#编写的支持运行http://ASP.NET应用程序的网页服务器软件。 MonoDevelop:SharpDevelop的一个移植版本,是一个符合GPL标准的面向Gtk#和Mono的.NET集成开发环境。 Novell.Directory.Ldap类库:Lightweight Directory Access Protocol(LDAP)for .NET的一个免费的实现版本。 SerialPortNet:Aserial portlibrary for .Net & Mono implementing .NET 2.0 specifications. Mono for Android和MonoTouch for iOS:Mono在移动平台Android和iOS上的移植,使开发者可以在Android和iOS平台上使用C#和Mono框架开发应用。Xamarin Forms是这些实现的核心,可以根据系统不同生成符合该系统风格的界面。 MonoMac:Mono对于一些OS X原生Step API的封装。
3、微软开发了一个称为共享源码公共语言基础(Shared Source Common Language Infrastructure,Shared Source CLI;即今ECMA—通用语言架构),是微软的.NET框架(共通语言运行平台)的一个源码共享的实现架构,可运行于Windows XP,FreeBSD,和Mac OS X10.2。
4、http://Portable.NET不及Mono成熟,这得归因于http://Portable.NET并不是在最初的时候就使用了微软的开发框架。提供了一个可以从C编译到通用中间语言的编译器。
常用开发软件:
显得牛哄哄的叫: 集成开发环境(Integrated Development Environment - IDE)
常用的: Visual Studio (VS) 有各个版本: 现在最新的应该是 Visual Studio 2019
注意这几个:
了解了解 Visual Studio 与Visual Studio Code :
Visual Studio:是一个集成的开发环境,相对来说比较完整,它包括了整个软件生命周期中所需要的大部分工具,如UML工具、代码管控工具、集成开发环境(IDE)等等。
Visual Studio Code:是一款免费开源的现代化轻量级代码编辑器,支持几乎所有主流的开发语言的语法高亮、智能代码补全、自定义热键、括号匹配、代码片段、代码对比 Diff、GIT 等特性,支持插件扩展,并针对网页开发和云端应用开发做了优化。软件跨平台支持 Win、Mac 以及 Linux。