第二章 生成丶打包丶部署和管理应用程序及类型

目录:

  • 2.1 .NET Framerwork部署目标
  • 2.2 将类型生成到模块中
  • 2.3 元数据概述
  • 2.4 将模块合并成程序集
  • 2.5 程序集版本资源信息
  • 2.6 语言文化
  • 2.7 简单应用程序部署(私有部署的程序集)
  • 2.8 简单管理控制(配置)

2.1 .NET Framework部署目标

Windows 多年来一直因为不稳定和过于复杂而口碑不佳。

有及方面原因。首先所有应用程序都要使用动态链接库(Dynamic-Link Library,DLL)

1.安装新应用程序时,它可能莫名奇妙破坏另一个已经安装好的应用程序。这就是"DLL hell"。

2.是安装的复杂性。

3.设计安全性。

2.2 将类型生成到模块中

通过命名生成可执行程序。(标准PE文件)

csc.exe 文件名.cs

生成“文件名.exe”可执行文件。

Windows支持三种应用程序:

控制台用户界面(Console User Interface,CUI) /t:exe 开关

图形用户界面(Graphical User Interface,GUI)/t:winexe开关

Windows Stroe 应用 /t:appcontainerexe开关

使用命令:csc.exe /t:exe|/t:winexe|/t:appcontainerexe 文件名.cs

响应文件:是包含一组编译器命名行开关的文本呢文件。

使用命令:csc.exe @响应文件 文件名.cs

2.3 元数据概述

CLR头是一个小的信息块,是需要CLR的模块特有的。这个头包含模块生成时所面向的CLR的major(主)和minor(次)版本号;一些标志(flag);一个MethodDef token,该token指定了模块的入口方法;一个可选的强名称数字签名。还包含模块内部的一些元数据表的大小和偏移量。

元数据是由几个表构成的二进制数据块:

定义表(definition table)

,引用表(reference table)

 清单表(manifest table)

2.4 将模块合并成程序集

程序集是一个或多个类型定义文件及资源文件的集合。其中一个文件容纳了清单。清单也是一个元数据表集合

2.5 程序集版本资源信息

2.6 语言文化

2.7 简单应用程序部署(私有部署的程序集)

2.8 简单管理控制(配置)

原文地址:https://www.cnblogs.com/terry-1/p/9620188.html

时间: 2024-08-29 15:35:15

第二章 生成丶打包丶部署和管理应用程序及类型的相关文章

第二章 生成、打包、部署和管理应用程序及类型

1. 概述 本章重点解释如何生成仅供自有应用程序使用的程序集. 2. 名词解释 ① 响应文件:是一个文本文件(扩展名rsp),包含一组编译器命令行开关.执行CSC.exe时可以直接读取并应用这些开关. 3. 主要内容 3.1 部署目标 ① 解决 DLL hell. ② 解决 安装时的复杂性. ③ 增强 安全性. 3.2 将类型生成到模块中 ① CSC.exe 3.3 元数据概述 元数据是一个二进制数据块,由几个表组成.这些表分为三个类别:定义表.引用表和清单表. ① 常用的定义表:ModuleD

第2章 生成、打包、部署和管理应用程序及类型

2.1 .Net Framework部署目标 2.2将类型生成到模块中 本节讨论如何将包含多个类型的源代码文件生成为一个可部署的文件. System. Console是Microsoft已经实现好的一个类型,用于实现这个类型的各个方法的IL代码存储在MSCorLib.dll文件中. 2.3元数据概述 Program.exe中到底包含什么内容呢? 一个托管PE文件有4个部分组成:PE32(+)头.CLR头.元数据以及IL. PE32(+)头是Windows要求的标准信息, 元数据是一个二进制数据块

生成、打包、部署和管理应用程序及类型(二)

1    生成.打包.部署和管理应用程序及类型 1.1   .net framework 部署目标 Windows一直不稳定和过于复杂(其实也很封闭,逐渐开放,如core),微软认为主要原因是: (1)应用程序来自微软或其他厂商的dll,多个厂商的代码带来复杂性.安装新程序会破坏原有程序,带来dll hell. (2)安装复杂性.大多数应用安装的时候会影响到系统的全部组件. (3)安全性.安装程序会带来各种文件,许多不同公司开发的. 1.2   将类型生成到模块中 响应文件包含一组编译器命令开光

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

使用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开关,不去引用该程

第二章 管理程序流(In .net4.5) 之 管理多线程

1. 概述 本章包括同步资源以及取消长时间任务相关的内容. 2. 主要内容 2.1 同步资源 ① lock关键字实现.会阻塞程序,有可能会导致死锁. ② volatile关键字可以禁用编译优化,用于避免优化代码时对多线程的影响. private static volatile int _flag = 0; ③ Interlocked关键字可以原子化一些简单数字运算和比较替换操作. Interlocked.Increment(ref n); // Interlocked.Decrement(ref

SQL笔记-第二章,数据表的创建和管理

数据类型 分5类:整数.数值.字符相关.日期时间以及二进制 1.整数 数据库系统 类型 说明 MYSQL tinyint [unsigned] 一个很小的整数.有符号的范围是-128 到127,无符号的范围是0 到255. smallint [unsigned] 一个小整数.有符号的范围是-32768到32767,无符号的范围是0 到65535. mediumint [unsigned] 一个中等大小整数.有符号的范围是-8388608到8388607,无符号的范围是0到16777215. in

关于《大道至简》第二章的收获

今天阅读了大道至简的第二章,这一章的标题是懒人造就了方法.文章以愚公和李冰作为例子,讲述了好的方法是如何产生的.由此我们可以想到身边的一些例子,假如我们要给一些学生出算数题,题量不大的情况下我们可以直接出题,当要求题量的时候这就是一个大工程了.为此,我们可以写一个简单的软件实现出题的功能.虽然写这个软件会花费一些时间,但是完成之后会省下很大的精力. 我们应该学会将源代码分写在几个文件中,而不是所有的都写在一起,因为都放在一个文件中,到了后期的维护可能会是很大的问题,因此Unit关键字出现了,将一

IDEA第二章----配置git、tomcat(热部署)、database,让你的项目跑起来

第一节:下载git客户端,整合idea 由于博主公司用的git版本管理,所以本系列都是基于git版本工具的,当然SVN与git配置类似.git同样支持安装版和解压版,支持各种操作系统,我这里下载的是Windows的解压版. 选择刚才解压后的文件夹,选择cmd文件夹下的git.exe,然后点击Test查看是否连接成功. 注:如果没有配置git客户端,用git地址导入项目会提示你找不到git.exe. 第二节:配置tomcat(热部署稍后会讲到) tomcat下载安装就不在累赘,博主用的是tomca

Jenkins入门系列之——02第二章 Jenkins安装与配置

2014-12-08:已不再担任SCM和CI的职位,Jenkins的文章如无必要不会再维护. 写的我想吐血,累死了. 网页看着不爽的,自己去下载PDF.有问题请留言! Jenkins入门系列之--03PDF文档下载 第二章 Jenkins安装与配置 2 Jenkins安装 在最简单的情况下,Jenkins 只需要两个步骤: 1.下载最新的版本(一个 WAR 文件).Jenkins官方网址: http://Jenkins-ci.org/ 2.运行 java -jar jenkins.war 注意: