【开发工具】dll程序集合并工具之ILMerge

来源:互联网 发布:淘宝订单交易风险违规 编辑:程序博客网 时间:2024/06/05 06:58

开发项目的过程中,难免会引用一些外部的DLL,这样在部署到应用环境时、不是那么方便。微软官方提供了一个工具:ILMerge。


一、用处:

将多个.Net的程序集合并成一个单一的程序集(DLL或者exe)


二、使用:

2.1、ILMerge虽然被打包成控制台应用程序,但是它的所有功能都是可以进行编程的。


关键API介绍:

public void SetInputAssemblies(string[] assems);

设置输入的程序集,每一项为程序集包含文件绝对路径的全名,其中参数第一个程序集为主程序集

public string OutputFile { get; set; } 

获取或设置合并后生成的文件名。

public void SetTargetPlatform(string platform, string dir);

设置.net framework目标平台,platform参数支持的:“v1”, “v1.1”, “v2”, “v4”,第二个参数为mscorlib.dll目录(可为空)

public ILMerge.Kind TargetKind { get; set; }

获取或设置目标平台类型(Windows应用程序、DOS应用程序、DLL)

public enum Kind
        {
            Dll = 0,
            Exe = 1,
            WinExe = 2,
            SameAsPrimaryAssembly = 3,
        }

设置为SameAsPrimaryAssembly时,表示与输入文件的主程序集相同。

注意:

①v1、v1.1、v2、v4指的是CLR(公共语言运行时),其中v2对应.net 2.0、.net 3.0和.net 3.5,而 v4则对应 .net 4.0及以上版本。

②参考文章地址(含GUI工具、源码):

http://www.szeju.com/index.php/other/0972424.html


2.2、官方原生的控制台程序

其实,命令行的操作也并不复杂,想要使用的可以参考:http://jingyan.baidu.com/article/49ad8bce6aa2295834d8fa97.html


3、环境:

ILMerge运行在CLR 2.0及以上的系统中,但是也能合并CLR v1或者CLR v1.1 的程序集。



0 0