程序集(Assembly),可以看做是一堆相关类打一个包,相当于java中的jar包(*)。打包的目的:程序中只引用必须的程序集,减小程序的尺寸;一些程序集内部的类不想让其他程序集调用。

我们调用的类都是位于各个程序集中,如果调用的类在没有引用的程序集中,则需要添加对那个程序集的引用,比如ConfigurationManager。

类的访问级别:private、public、protected

访问级别约束子类访问级别不能比父类高(等级观念),因为子类能够出席的场合父类都应该能出席,如果父类可访问级别比子类低就有了父类去不了的场合(儿子能去的地方爹一定要能去)

类如果不标注访问级别则是internal级别,也就是只能在程序集内部访问,如果想跨程序集访问,则需要public或者使用InternalsVisibleTo(*)

可以编写自己的程序集,新建→类库,使用这个类库的程序只要引用生成的dll即可,如果是引用同一个解决方案中类库,则最好添加项目引用。项目不能循环引用,就是A引用BB又引用A

exe、dll都是程序集,只不过exe有入口而已,exe也可以被添加引用。dll不一定是程序集(VC写的dll就不是程序集),程序集不一定是dll(.net写的EXE也是程序集)

(*)GAC(全局程序集),数字签名(防止引用的程序集被篡改)

所有.Net类都是定义在某个Assembly(程序集)中的,.Net基本类是定义在mscorlib.dll中。exe也可以看做是类库,也可以引用。.net的exe也是Assembly,.net中的exe和dll的区别就是exe中包含入口函数,其他没有区别,exe也可以当成dll那样引用、也可以反编译。

GAC:全局程序集缓存。公用的Assembly放到GAC中。(*)

Assembly类是对程序集的描述(*)。

(*)AppDomain.CurrentDomain.GetAssemblies()获得程序所有的Assembly

Assembly.LoadFile(),动态从文件加载Assembly,不需要在编译的时候引用。

转载于:https://www.cnblogs.com/xdp-gacl/p/3525546.html

.Net高级技术——程序集相关推荐

  1. SQL Server 高级技术(二)—— 安全

    SQL Server 高级技术(二)-- 安全 一.概述 SQL Server 广泛使用安全主体和安全对象管理安全,一个请求.服务器.数据库或架构资源的实体称为安全主体,每一个安全主体有唯一的安全标识 ...

  2. php高级技术考试题,PHP高级技术考试题.doc

    PHP高级技术考试题 PHP方向阶段测试 一.选择题(共25分 每小题1分) 1.如何让一个对象实例调用自身的该对象的方法函数"mymethod"?A.$self=>myme ...

  3. RHEL6.3 DNS高级技术二 通过DNS主从区域复制实现DNS View负载均衡和冗余备份

    RHEL6.3 DNS高级技术二 ----通过DNS主从区域复制实现DNS View负载均衡和冗余备份 版权声明: 本文遵循"署名非商业性使用相同方式共享 2.5 中国大陆"协议 ...

  4. .Net高级技术笔记

    .Net高级技术 数组/多维数组/交叉数组 装箱&拆箱 字段私有,属性赋值(私有匿名后备字段) 引用/"指针" 数组/多维数组/交叉数组 namespace Console ...

  5. Java高级技术笔记

    Java高级技术笔记 URL地址 HTTP协议 开发工具 Java开发工具包(JDK) JSP引擎 MyEclipse IDEA 工具集成 C/S架构是Client/Server的简写,也就是客户机/ ...

  6. [译]基于GPU的体渲染高级技术之raycasting算法

    [译]基于GPU的体渲染高级技术之raycasting算法 PS:我决定翻译一下<Advanced Illumination Techniques for GPU-Based Volume Ra ...

  7. 数据“被”覆盖有假象,SQL数据库恢复终极绝招(数据恢复高级技术)

    很多数据恢复工程师包括一些数据恢复技术爱好者经常会问同样一个问题:"数据一旦被覆盖了,还能不能恢复呀?我听说国外能恢复被覆盖以后的数据,据说只要是覆盖操作在7次以内,都能恢复出来,国内有没有 ...

  8. spring(7)spring mvc 的高级技术

    [0]README 1)本文部分文字描述转自:"Spring In Action(中/英文版)",旨在review  "spring(7)spring mvc 的高级技术 ...

  9. 如何准备Java初级和高级技术的面试呢?

    IT行业的崛起带动了一大批的新兴职业,Java数据开发就是其中之一,作为IT行业的刚需职位,企业对合格的Java开发人员求贤若渴, 在各大主流招聘平台上, Java相关职位数量一直名列前茅,那么我们如 ...

最新文章

  1. Java Web整合开发(41) -- Forum
  2. 百度被曝将成立芯片公司!头部互联网玩家,为何纷纷入局造芯?
  3. java的知识点12——==和equals方法、 super关键字、 继承树追溯、封装的作用和含义、封装的实现—使用访问控制符、封装的使用细节
  4. [转]simhash进行文本查重
  5. Xshell远程管理Linux
  6. C:矩形相交、相包含、相离关系判断
  7. 我用Python可视化了7次人口普查数据变化,你所在的省份还好吗?
  8. foxmail删除服务器文件,无法真正删除?Foxmail文件中转站BUG
  9. android 4.4.2海信电视,ROOT海信电视Android4.0的详细步骤
  10. 100项PPT制作技术,做出让观众倾倒的演示文档!
  11. 文献管理软件 EndNote20.1 for Windows版
  12. Kotlin基础篇(二)-作用域函数
  13. 十二月各地中小企业扶持政策汇总
  14. 慈禧是怎么吃年夜饭的
  15. VS Code:推荐插件 - HTML格式化(包括JS、CSS)
  16. 以下使用计算机的不良习惯,1.以下使用计算机的不好习惯是( )。 A. 关机前退出所有正在执行的应用程序 B. 使用标准的文件扩展名 C....
  17. java中如果int类型超出了它的范围
  18. 如何更改vmware的网络模式
  19. 198. House Robber 的递归与动态规划实现方法(Python)
  20. Memcached集群配置

热门文章

  1. linux系统基础入门,虚惊一场
  2. Android数据存储方式
  3. android sqlite 单例模式,数据储存之SQLite(单例模式)
  4. 管家婆有未记账的凭证怎么办_管家婆常见问题
  5. python隐式调用方法_Python为什么不隐式实现self
  6. linux虚拟机上不了王,虚拟机上安装Linux时出现的问题及解决方法
  7. 网络营销外包期间如何提升网络营销外包外链优化效果?
  8. 浅析网站域名申请注册的四种常见方式
  9. java改成c语言专业名词解释,求助大神!!!JAVA转换成C语言
  10. mysql sql with_mysql5.7 查询sql 出错: with sql_mode=only_full_group_by