使用csc.exe,通过命令行来编译源代码,生成IL代码,如下
csc.exe /out:Program.exe /t:exe /r:MSCoreLib.dll Program.cs
意义:指示C#编译器生成一个名叫Program.exe的可执行文件
MSCoreLib.dll是一个特殊的文件,它包含所有的核心类型:Byte,Char,String,Int32等等,因为操作非常频繁,C#编译器会自动引用该程序集,所以上述的命令行代码可以省略/r开关,也可以使用/nostdlib开关,不去引用该程序集
响应文件:
类似于配置文件一样,可以统一设置命令行中的各项开关
元数据概述
元数据是一个二进制数据块,由几个表构成,为三个类型:定义表,引用表,清单表
常用定义表:
ModuleDef:标识模块的记录项
TypeDef:标识类型的记录项
MethodDef:模块中各个方法的记录项
FiledDef:模块中每个字段的记录项
ParamDef:模块中每个方法中参数的记录项            
PropertyDef:模块中每个属性的记录项
EventDef:模块中每个事件的记录项
常用引用表:
AssemblyRef:模块引用每个程序集的记录项
ModuleRef:当前模块引用的类型可能是由别的PE模块实现,所有那些模块在这个表中都有一个对应的记录项
TypeRef:模块引用的每个类型在这个表中的记录项
MemberRef:模块引用的成员(字段、方法、属性、事件)
程序集是一个或多个类型定义文件及资源文件的集合,是进行重用、版本控制和应用安全性设置的一个基本单元,它允许将类型和资源文件划分到单独的文件中。
生成一个PE文件程序集时,会在PE文件中嵌入一个标准的Win32版本资源,在应用程序中可以使用System.Diagnostics.FileVersionInfo的static方法GetVersionInfo来获取并检查这些信息
语言文化
标记了一种具体的语言文化的程序集称为附属程序集

转载于:https://www.cnblogs.com/a2htray/p/4502054.html

02.生成、打包、部署和管理应用程序及类型相关推荐

  1. 【深入理解CLR 三】生成、打包、部署和管理应用程序及类型

    上一篇博文https://blog.csdn.net/sinat_33087001/article/details/80185199讲了CLR的执行模型,从整体流程把控方面介绍了CLR的执行过程,对于 ...

  2. 生成、打包、部署和管理应用程序及类型(2):元数据概述

    托管文件PE(Program.exe)文件由四部分构成:PE32(+)头.CLR头.元数据以及IL.PE32(+)头是Windows要求的标准信息.CLR头是一个小的信息快,是需要CLR的模块特有的. ...

  3. .NET基础 (03)生成、部署和管理

    生成.部署和管理 1 如何生成强签名的程序集 2 如何把程序集放入GAC中 3 延迟签名及其作用 4 程序集的版本分哪几部分 1 如何生成强签名的程序集 在生成程序集时,CLR提供了两种可选类型: 强 ...

  4. simple go web application 二维码生成 打包部署

    go语言简易web应用 & 二维码生成及解码 & 打包部署 转载请注明出处: https://www.cnblogs.com/funnyzpc/p/10801476.html 前言(闲 ...

  5. 下载部署和管理Windows Azure应用程序评估

    TechNet 评估中心 的人们刚刚发布了一个称为部署和管理 Windows Azure 应用程序的新的评估体验.在此评估过程中,用户按照指南一步一步地将示例程序部署到Windows Azure ,然 ...

  6. 《微软云计算Microsoft Azure部署与管理指南》即将上市!!!

    大家好,本人新作<微软云计算Microsoft Azure部署与管理指南>即将与广大读者见面,由电子工业出版社出版.希望大家能关注此书,并推荐给身边的好友和技术人员. 众所周知,Micro ...

  7. SpringCloud 定义Eureka服务端、Eureka服务信息、Eureka发现管理、Eureka安全配置、Eureka-HA机制、 Eureka服务打包部署

    对于服务发现框架可以简单的理解为服务的注册以及使用操作步骤,例如:在 ZooKeeper 组件,这个组件里面已经明确的描述了一个服务的注册以及发现操作流程,在整个 Rest 架构里面,会存在有大量的微 ...

  8. c# winform 程序打包部署

    c# winform 程序打包部署 1 新建一个 c# 安装部署项目 2 在文件系统编辑器里把做好的项目的可执行文件及要用到的其它文件(相关dll及资源文件)添加进来(应用程序文件夹) 3 如果要在程 ...

  9. flask程序打包部署_如何使用Flask构建Web应用程序并将其部署到云中

    flask程序打包部署 by Salvador Villalon 萨尔瓦多·维拉隆(Salvador Villalon) 介绍 (Introduction) In each section, I wi ...

最新文章

  1. Http请求之优雅的RestTemplate
  2. Oracle Hints具体解释
  3. 之全能忙内_全能水适能指导员流行到山西,你是否跟上?
  4. Spring的@Configuration使用cglib代理的效果和我自己写的简单实现
  5. 设置linux拨号服务端,CentOS Linux上搭建PPPoE服务器及拨号设置
  6. 那些有关求解next数组的算法
  7. opencv矩阵掩膜操作(提高图片对比度)
  8. Centos添加supervisor为服务,启动/关闭,设置开机启动服务
  9. RedisTemplate存数据时指定过期时间
  10. 2个维度5大方法,让你的微服务在K8s上跑起来
  11. uniapp中使用moment.js日期插件
  12. msm 8953 camera 流程
  13. 趋势杀毒曝远程执行漏洞 可盗取用户所有密码
  14. 如何解密Token?
  15. 创建hive的AES加密解密函数
  16. java程序代码实现手机号码归属地查询
  17. in memory computing 存内计算是学术圈自娱自乐还是真有价值?
  18. 网页收藏栏小图标_如何设置在网页地址栏中的小图标
  19. 通过按位与和按位或操作
  20. 适用于 Windows 10 的 Neat Download Manager 下载管理器将加快你的下载速度

热门文章

  1. file is not a zip file_【钢新滨河社团活动】超燃手势舞,牛津A班邀你来battle!
  2. 2021-08-05学习日记
  3. 杨辉三角Python解法
  4. ediplus 复制编辑一列_EditPlus等编辑器选中列(块)的方法
  5. python学习-字符串格式化
  6. vue循环如何传参数 php,vue循环列表动态数据的处理方法(代码)
  7. sqlserver查询当月的每一天_SQL生成一年每一天的时间列表的几种方法
  8. mysql一次性获取几十万数据_《快速念咒——MySQL自学入门指南》:第2章——从表中获取更多数据(前言)...
  9. 【万众期待】左盟主688页QT教程震撼发布!88个例程,一大波酷炫UI+项目实战案例来袭,让您久等了!!!...
  10. 李焕英 照片动起来了?B站 up主用AI还原动态影像