程序集与构建有何不同?

时间:2013-06-09 09:29:25

标签: language-agnostic build

我知道构建意味着从源代码或工件本身进行编译。但什么是集会?我试图搜索但找不到差异。

E.g。在.NET中,程序集是EXE文件,但这不是我构建应用程序时得到的内容吗?不是构建吗?

编辑:我的意思是构建为名词(构建过程的结果)。

2 个答案:

答案 0 :(得分:0)

看看What are .NET Assemblies?。构建的输出是你的程序集,所以如果你的项目中有一个名为MyClassLib的类库,那么在构建应用程序时你会得到MyClassLib.DLL。因此,构建过程是创建程序集的原因

答案 1 :(得分:0)

如果有任何标准,我会接受对构建内容的权威定义,那将是我自己的。我说这个的原因是我比大多数人有更全面的观点,尽管佛罗里达州有一些人可以退休。

随着用法命令语言,“软件构建”的使用和定义随着时间的推移而发展:今天,它将被称为“产品”,或生产过程的结果,或抽象意义上的那个过程本身。所以最初它指的是施工过程或最后生产阶段的产品。它通常与批处理(在加载到存储器中的模块实例的意义上的过程相关联,具有有限的边界并由操作系统跟踪)或作业标识号相关联。出于这个原因,经常要求“构建”上的数字,多次将其与日期相关联,以便将其与纠正措施相关联。有时,构建记录在权威日志中的顺序日志条目中,以及该期间内更改的日期和简要说明。

我觉得很奇怪这个条目标有关键字'language-agnostic'和'build'。它实际上是自定义的:虽然汇编或汇编只能是那些流程或其中的产品,但构建可能需要一些初始化数据或上下文围绕和/或支持包含汇编并成为最终产品的一部分。

当建造房屋时,输出是房屋:软件构建可能具有一些相同的特征;对于某些人来说,没有门或窗户的大厦不是房子,但是这样的结构可以称为构建 - 同样,产生产品主要模块的编译集也可以称为构建。

我不希望成为一个精确的术语:相反,它是一套程序及其结果,有一次产生了特定的产品。但值得注意的是,构建可能包含来自多个编译的模块以及来自几种不同语言的编译 - 甚至是一些汇编。由于输出或产品可能因此而不同,因此该构建的一部分甚至可以包括一些过程脚本和/或作业控制语言以及编译或组装的组件。

简而言之,软件构建是在特定场合生成特定产品和/或由此产生的产品本身所涉及的一组程序元素,用于识别上下文环境,解决的问题和涉及的成本。根据所需和所花费的所有形式的资源,工作,订单,任务,包装,指令或记录的时间表。