zoukankan      html  css  js  c++  java
  • [转] 程序集和Dll的区别

    首先这是一个最简单的讲法:(引用)

    什么是程序集?

    可以把程序集简单理解为你的.NET项目在编译后生成的*.exe或*.dll文件.
    嗯,这个确实简单了些,但我是这么理解的.详细:


    程序集和命名空间的区别?

    一个程序集可以跨越n个命名空间,一个命名空间也可以包含n个程序集.

    如果说命名空间是类库的逻辑组织形式,那么程序集就是类库的物理组织形式。只有同时指定类型所在的命名空间及实现该类型的程序集,才能完全限定该类型。(摘抄自《精通.NET核心技术--原来与架构》 电子工业出版社)

    也就是说,你要创建一个类的实例,必须知道该类的 命名空间(这个一般都知道)+程序集

    下面是个高深点的

    程序集的特性:
    1.程序集是自我描述的
    2.版本的相互依赖在程序集的清单里进行了记录。
    3.程序集可以并行加载。
    4.应用程序使用应用程序域来确保其独立性。

    程序集的结构:
    由描述它的元数据,描述导出的类型和方法的类型元数据,MSIL代码和资源组成。

    程序集的清单:
    1.标识
    2.属于该程序集的一个文件列表。
    3.引用程序集的列表。
    4.一组许可请求。
    5.导出的类型不是程序集清单的一部分,除非这些类型放在一个模块中。  

    下面是DLL的解释

    所谓动态链接库(Dynamic-Link Libraries,简称DLLs),简单地说就是一个可执行模块,其扩展名为.DLL,模块中包含了可以被其他应用程序或其他DLLs使用的例程和资 源。跟 一般的的可执行程序扩展名为.EXE不同的是,DLLs没有通常的主程序,但它有多个执行入口。

    DLLs的特点在于它的代码是在运行期动态地链接到调用它的程序中的,DLLs一旦加载,就能被多个应用程序或其它DLLs共享。

  • 相关阅读:
    ulimit -a
    nginx check_http_send type=http 查检测不到后端TOM的存活
    通过ip查找能应机器的MAC
    错误状态码URL重定向
    error_page 改变状态码为新的状态码,并显示指定内容
    使用 CefSharp 在 C# App 中嵌入 Chrome 浏览器
    C#客户端嵌入Chrome浏览器的实现
    Task.Run c#启动线程
    C#利用webBrowser怎么去掉网页中不想显示的部分
    InDesign CC 2019安装包+破解
  • 原文地址:https://www.cnblogs.com/RobotTech/p/1942883.html
Copyright © 2011-2022 走看看