Net体系结构

C#简介

用C#(.NET)可以开发什么程序?

  1. 控制台程序
  2. 桌面应用程序
  3. 网站
  4. 手机程序
  5. Windows服务
  6. 嵌入式程序

C#源文件

  1. designer.cs 是窗体设计器生成的代码文件,作用是对窗体上的控件做初始化工作(在函数InitializeComponent()中)VS2003以前都把这部分代码放到窗体的cs文件中,由于这部分代码一般不用手工修改,在VS2005以后把它单独分离出来形成一个designer.cs文件与窗体对应。这样cs文件中剩下的代码都是与程序功能相关性较高的代码利于维护。
  2. sln:解决方案文件,为解决方案资源管理器提供显示管理文件的图形接口所需的信息。
  3. csproj:项目文件,创建应用程序所需的引用、数据连接、文件夹和文件的信息。
  4. aspx:Web 窗体页由两部分组成:视觉元素(HTML、服务器控件和静态文本)和该页的编程逻辑。Visual Studio 将这两个组成部分分别存储在一个单独的文件中。视觉元素在.aspx 文件中创建。
  5. ascx:ASP.NET 的用户控件(也叫做"pagelets"),是作为一种封装了特定功能和行为(这两者要被用在Web应用程序的各种页面上)的Web页面被开发的。一个用户控件包含了HTML、代码和其他Web或者用户控件的组合,并在Web服务器上以自己的文件格式保存,其扩展名是*.ascx。ASP.NET里的缺省 配置并不允许Web客户端通过URL来访问这些文件,但是这个网站的其他页面可以集成这些文件里所包含的功能。
  6. aspx.cs:Web 窗体页的编程逻辑位于一个单独的类文件中,该文件称作代码隐藏类文件(.aspx.cs)。
  7. cs: 类模块代码文件。业务逻辑处理层的代码。
  8. asax:Global.asax 文件(也叫做 ASP.NET 应用程序文件)是一个可选的文件,该文件包含响应 ASP.NET 或 HTTP 模块引发的应用程序级别事件的代码。
  9. config:Web.config 文件向它们所在的目录和所有子目录提供配置信息。
  10. aspx.resx/.resx:资源文件,资源是在逻辑上由应用程序部署的任何非可执行数据。通过在资源文件中存储数据,无需重新编译

C#程序文件

主要由exe和dll组成。

C#与Net的关系

  1. C#是一种编程语言。
  2. Net由一个框架类库(FCL,实质是封装Windows API)与公共语言运行库(CLR)组成,并且支持多种开发语言。

clip_image001_thumb1

Net框架中的组件

clip_image002_thumb4

NET框架中有很多重要的组件,其中.NET Framework类库包括Web窗体、WebService、WinForms、ADO.NET、XML类、基本框架类,CLR中包括CLS和CTS两部分。

Net Framework的核心是公共语言运行库CLR。通常称在CLR控制下运行的代码称为托管代码。

公共语言运行库

C#源代码-----------》IL(微软中间语言)---------CLR-----》平台专用代码。

CLR叫做公共语言运行库时(Common Language Runtime)。简单地说,它是一个支持.Net应用程序运行和开发的虚拟机(与Java虚拟机类似),并且支持JIT(即时编译)。CLR由CLS(公共语言规范)和CTS(通用类型系统)两部分组成。

CLS是一个编程规范,CTS是数据类型规范,它们存在的目的是为了实现语言的互操作性问题,例如VB.NET和C#在.Net框架下实现互相调用。

CLR的特点

  1. 平台无关性
  2. 提高性能
  3. 语言的互操作性

中间语言IL

  1. 面向对象和接口的支持
  2. 不同的值类型和引用类型
  3. 强数据类型化

程序集

程序集(assembly)是包含编译好的、面向.NET Framework的代码的逻辑单元。简单地说,程序集是dll或exe运行时内存中的代码集合。

元数据:元数据是指描述数据的数据。NET中的元数据是指描述程序集中的类、方法、属性的数据。因此,反射就是通过元数据来获取程序集的信息。

程序集有两种类型:私有程序集和共享程序集。

原文地址:https://www.cnblogs.com/cmhunter/p/3922916.html