[CLR via C#]1.2 将托管模块合并成程序集

原文:[CLR via C#]1.2 将托管模块合并成程序集

1.CLR是不和托管模块一起工作的,CLR是和程序集一起工作的。

 

2. 程序集是一个或多个托管模块/资源文件的逻辑性分组。

 

3. 程序集是重用、安全性以及版本控制的最小单位。

 

4. 程序集取决于你对编译器的选择,可以生产单文件程序集,也可以生产多文件程序集。在CLR中,程序集相当于一个"组件"。

 

5.将托管模块合并成程序集图示:

生成的 程序集会包含一个名为"清单"(maniest)的数据块。清单是有元数据构成的另一种集合。这些表描述了构成程序集的文件。

 

6. 默认情况下,编译器实际会把生成的托管模型转化成程序集。C#编译器会生成含有清单的一个托管模块。清单指出程序集只有一个文件构成。所以,假如项目只有一个托管模块,没有资源/数据等文件,那么程序集就是托管模块,生成过程不需要额外操作。如果是将一系列文件合并到一个程序集中,就必须掌握更多的工具(比如程序集链接器AL.exe)以及它们的命令行。

7. 在程序集模块中,还包含与引用的程序集有关的信息(包括他们的版本号)。这些信息使得程序集能够自描述(self-describing)。也就是说,CLR能判断出为了执行程序集中的代码,该程序集的直接依赖对象是什么。所以部署起来十分的方便。

时间: 2025-01-31 13:57:17

[CLR via C#]1.2 将托管模块合并成程序集的相关文章

Win2008应用之IIS 7托管模块配置

利用 IIS 7.0 扩展性模型,可以开发称作"模块"的 Web 服务器组件,并将其部署为使用本机 C++ API 的本机 DLL 或使用 ASP.NET API 开发的托管类型.Web 服务器模块可属于以下任一类型: - 本机模块(本机 .dll 文件):这些文件也称作"非托管模块",因为它们不是使用 ASP.NET 模型创建的.默认情况下,Web 服务器中包含的大多数功能都是作为本机模块实现的. - 托管模块(由 .NET 程序集创建的托管类型):这些模块是使用

把 OMRON DRT1-TS04P 温度模块更换成 OMRON DRT2-TS04P 温度模块。

问题描述 CPU型号OMRONSYSMACC200HECPU42远程连接摸快:DRM21-V1型号OMRONDRT1-TS04P温度模块型号:需要处理的问题:把OMRONDRT1-TS04P温度模块更换成OMRONDRT2-TS04P温度模块.问题:把OMRONDRT1-TS04P温度模块更换成OMRONDRT2-TS04P温度模块.(1)需要那些硬件?(笔记本没有串口)才能通信上.(2)需要哪些软件?(3)如何更改硬件组态?具体步骤?(4)如收费该如何收法?给出具体报价?详细图片可见我的博客:

Maven之多模块打包成一个jar包及assembly

一.多模块打包   Xml代码   <?xml version="1.0" encoding="UTF-8"?>   <project xmlns="http://maven.apache.org/POM/4.0.0"            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"            xsi:schemaLocation=&

nginx中使用nginx-http-concat模块合并静态资源文件_nginx

首先了解一下 nginx-http-concat,他是一个淘宝的开源Nginx模块,是一个能把多个CSS和JS合并成一个请求的Nginx模块,对于Web性能优化非常有意义. Github地址:https://github.com/alibaba/nginx-http-concat, 先看看淘宝用起来是什么样的,访问淘宝网主页,查看源代码可以看到类似的这样的style/script链接 复制代码 代码如下: <link rel="stylesheet" href="//g

Unity3D手游开发实践

<腾讯桌球:客户端总结> 本次分享总结,起源于腾讯桌球项目,但是不仅仅限于项目本身.虽然基于Unity3D,很多东西同样适用于Cocos.本文从以下10大点进行阐述: 架构设计 原生插件/平台交互 版本与补丁 用脚本,还是不用?这是一个问题 资源管理 性能优化 异常与Crash 适配与兼容 调试及开发工具 项目运营   1.架构设计 好的架构利用大规模项目的多人团队开发和代码管理,也利用查找错误和后期维护. 框架的选择:需要根据团队.项目来进行选择,没有最好的框架,只有最合适的框架. 框架的使

“前.NET Core时代”如何实现跨平台代码重用 ——程序集重用

除了在源代码层面实现共享("前.NET Core时代"如何实现跨平台代码重用 --源文件重用)之外,我们还可以跨平台共享同一个程序集,这种独立于具体平台的"中性"程序集通过创建一种名为"可移植类库(PCL: Portable Class Library)"项目来实现.为了让读者朋友们对PCL的实现机制具有充分的认识,我们先来讨论一个被我称为"程序集动态绑定"的话题. 目录 一.何谓程序集动态绑定? 二.程序集一致性 三.程序集

.NET(C#) Internals: as a developer, .net framework in my eyes

--当我第一次听到Microsoft .NET平台时,我就知道它将续写微软不败的神话.(Jeffrey Richter) 引言 这篇文章我很早很早之前就想写了,本来是想把它作为我开博的第一篇的,但由于种种原因直到现在写出来.本文不是用.NET平台和其余平台(诸如Java)做比较,不去评论孰优孰劣.仅仅是作为一个.NET开发者,介绍一下我眼中的.NET. 1..NET Framework .NET Framework包括公共语言运行时(Common Language Runtime,CLR)和框架

面试者自述

You should answer 7 optional questions plus all 3 required questions. SQL (Required): 1.    Table: Student (Student ID, Student Name)                         Lesson (Lessoned, LessonName, StudentID)  There are students without Lesson information.  Pl

人脸检测发展:从VJ到深度学习(下)

雷锋网按:本文作者邬书哲, 中科院计算所智能信息处理重点实验室VIPL课题组博士生,研究方向:目标检测,尤其关注基于深度学习的目标检测方法. |深度学习给目标检测带来的变革      人脸检测作为一种特定类型目标的检测任务,一方面具有其自己鲜明的特点,需要考虑人脸这一目标的特殊性,另一方面其也和其它类型目标的检测任务具有一定的共性,能够直接借鉴在通用目标检测方法上的研究经验.     目标检测任务作为一个分类问题,其不仅受益于计算机视觉领域相关技术的不断发展,在机器学习领域的研究进展同样也对目标