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

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

    .NET Framework 部署目标


解决如下存在的问题:

1.       所有的应用程序都使用DLL,可能出现DLL hell

2.       安装时复杂性

3.       涉及安全性

    将类型集成到模块中

csc.exe /out:Program.exe /t:exe /r:MsCorlib.dll Programe.cs

csc.exe  c#编译器

/out:Programe.exe 生成文件名Programe.exe

/t:exe 生成一个CUI应用程序    /t:winexe 生成一个GUI应用程序  

/r: MsCorlib.dll 引用程序集

/noconfig 忽略局部和全局csc.rsp文件

应答文件(.rsp):指定需要的编译器开关,方便编译

    元数据概述

CLR头包括

主版本号

副版本号

标志

方法定义标记

模块入口方法

强名称数字签名

元数据表大小和偏移量

 

元数据是一个二进制数据块,由三个表构成:定义表、引用表、清单表。

查看元数据用ILDasm.exe工具,视图元信息显示。

程序集的所有文件中,只有一个文件包含清单。清单包含作为程序集一部分的其它文件的名称,使得程序集具有自描述性。具有清单元数据表的文件有如下特性:

*程序集定义了可重用的类型;

*程序集标记了一个版本号;

*程序集可以有关联的安全信息。

配置文件中有一个codeBase元素,它指定一个url。程序集的所有文件都放在这个url处。

多文件程序集优点

*将常用和不常用的类型放在不同文件中,以实现“增量”方式下载文件;

*可以在自己的程序集中添加资源和数据(如Excel文件或Word文件)

*程序集包含的各个类型可以采用不同的编程语言来实现

VS IDE 不支持创建多文件程序集,只能使用命令行工具。

/tmodule 开关,生成.netmodule模块,不包含清单元数据表

/addmodulexx.netmodule 开关,把模块添加到程序集

生成新的程序集时,被引用程序集的所有文件必须都存在,运行应用程序时,则不需要(用到的才必须存在)

使用Visual Studio IDE 在项目中添加程序集

右击项目添加引用

使用程序集链接器Al.exe

/main:方法名  指定入口方法

/embed[resource]  添加资源文件嵌入到程序集

/link[resource]  获取资源文件(是非嵌入,独立的)

/win32res parth  嵌入标准win32资源

/win32icon  parth  嵌入图标资源

程序集版本资源信息 AssemblyInfo.cs

版本号:

格式

主版本号

副版本号

Build

Revision

示例

3

5

     64

     3

前两个编号构成了公众对一个版本的理解,如.NET Framework 3.5版本。第三个编号指出程序集的生成编号,最后一个编号指出当前build的修订次数。

    语言文化

AL.exe /c[ulture]text创建单独的只包含语言文化的程序集,放在同名目录中。Text是语言文化字符串,如en-US代表美国英语,zh-CHS代表中文

    简单应用程序部署

打包和安装的3种机制:

1.       直接复制所有文件,卸载时,只需删除所有文件即可

2.       使用.cab文件,通常用于Internet下载情形,目的是压缩文件,以缩短下载时间

3.       使用VS 项目属性中的发布,生成一个MSI文件,可以实现“即需安装”,还可以安装任何必备组件

简单管理控制

在应用程序的基目录中安装一个配置文件,包含的是XML文件。对不同的应用程序文件名称和位置不一样:

*对可执行应用程序来说,配置文件必须在应用程序的基目录中,而且必须采用EXE文件的全名作为文件名,并附加一个.config扩展名。

*ASP.NET Web 窗体应用程序来说,文件必须在Web应用程序的虚拟根目录中,而且总是命名为Web.config

*如果程序集包含由Microsoft Internet Explorer 容纳的客户端控件,那么HTML页必须包含一个link标记,它的rel属性要设为“Configuration”,href属性要设为配置文件的URL,名称任意。



转载于:https://www.cnblogs.com/Sandwi/archive/2007/11/20/965496.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值