.NET Core 程序集(模块)还包含描述程序集本身的元数据,我们称之为清单。清单记录了当前程序集正常运行所需的所有外部程序集、程序集的版本号、版权信息、模块 、资源(图片 xml等)等。与类型元数据一样,生成程序集清单也是由编译器的工作。

同样地,还是以上面 Calculator 类所在项目为例,我们也来看看程序集清单长什么样子。在 ildasm.exe 工具打开的程序集的目录树中,双击 MAINFEST 即可查看程序集的清单内容:

.assembly extern System.Runtime
{
.publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....:
.ver 5:0:0:0
}
.assembly extern System.Console
{
.publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....:
.ver 5:0:0:0
}
.assembly ConsoleApp
{
...
.custom instance void ... TargetFrameworkAttribute ...
.custom instance void ... AssemblyCompanyAttribute ...
...
.hash algorithm 0x00008004
.ver 1:0:0:0
}
.module ConsoleApp.dll
.imagebase 0x00400000
.file alignment 0x00000200
.stackreserve 0x00100000
.subsystem 0x0003 // WINDOWS_CUI
.corflags 0x00000001 // ILONLY

可以看到,程序集清单首先通过 .assembly extern 指令记录了它所引用的外部程序集。接着是当前程序集本身的信息,记录了程序集本身的各种特征,如版本号、模块名称等。

最新文章

  1. Python读取文件内容并将内容插入到SSDB中
  2. struts2学习笔记--使用struts2插件实现ajax处理(返回json数据)
  3. 深入理解redis持久化
  4. MCMC: The Metropolis Sampler
  5. CentOS上安装软件错误提示:configure: error: no acceptable C compiler found in $PATH
  6. Javascript原型模式总结梳理
  7. jQuery中.bind() .live() .delegate() .on()的区别
  8. HTML 运算符、类型转换
  9. apache性能优化
  10. HTTP 错误 404.3 - Forbidden
  11. Linux Kernel 'MSR' Driver Local Privilege Escalation
  12. TalkingData游戏版本在Cocos2d-x 3.0使用
  13. UVa 10473 - Simple Base Conversion
  14. 【1414软工助教】团队作业10——复审与事后分析(Beta版本) 得分榜
  15. wordpess关闭评论的方法,wordpress开发
  16. 如何利用JavaScript遍历JSON数组
  17. Qzone React Native改造
  18. mpvue小程序开发之 iconfont图标引入
  19. linux 硬盘分区与格式化挂载 (二)
  20. python 安装包制作

热门文章

  1. 乡亲们,我们创建了 Dapr 中文交流频道
  2. JavaWeb概念及Web资源的分类
  3. Chrome Performance 页面性能分析指南
  4. python16day
  5. uni微信小程序优化,打包后的import vue路径是可删除的
  6. TCP和UDP的区别以及应用
  7. android 安装gcc环境
  8. WEB前端开发--1(Web前端开发综述)
  9. Vue.use初探
  10. Redis 源码简洁剖析 12 - 一条命令的处理过程