什么是程序集(Assembly)

什么是程序集(Assembly)在接触访问控制符的时候就接触程序集的概念,但没有深入了解过,今天就来将程序集的概念缕一缕1.程序集的产生为更好理解我们先从C#的编译开始。在将C#代码编译成CIL(CommonIntermediateLanguage,通用中间语言)后,CLR(CommonLanguageRunTime,

大家好,欢迎来到IT知识分享网。

在接触访问控制符的时候就接触程序集的概念,但没有深入了解过,今天就来将程序集的概念缕一缕

1.程序集的产生

   为更好理解我们先从C#的编译开始。在将C#代码编译成CIL(Common Intermediate Language,通用中间语言)后,CLR(Common Language RunTime,公共语言运行时)在虚拟运行系统上通过JIT(Just In Time,即时编译)在运行的同时将CIL编译成机器码。

什么是程序集(Assembly)

   程序集是由程序编译得到,归属于CLI (Common Language Infrastructure,通用语言基础架构)。CLI本身是一种规范,在此之下还有

  • 通用类型系统(Common Type System, CTS)
  • 元数据系统(Metadata)
  • 通用语言规范(Common Language Specification, CLS)
  • 虚拟执行系统(Virtual Execution System, VES)
  • 通用中间语言(Common Intermediate Language, CIL)
  • 框架(Framework)

   CIL程序集分为两类:进程程序集(EXE)和库程序集(DLL) (统称PE文件)

   在我们创建项目的时候 生成的AssemblyInfo.cs 作为配置文件,标明程序集的基本信息。注释写的很清楚,就不再赘述,不过Rider的注释为英文,方便观看建议用VS。

2.程序集与命名空间

   一开始我认为这两者是一样的,但是后来发现不完全一样。程序集可以理解为你当前项目下所有程序的汇总,命名空间只是逻辑上的划分,所以会出现 一个程序集下有多个命名空间,一个命名空间可以出现在多个程序集中。

  打开VS 视图=》对象浏览器,清楚的看到 mscorlib和System两个程序集下都有名叫System的命名空间。所以我们需要指定命名空间与程序集才能限定我们引用。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/30511.html

(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信