.NET程序集合并工具操作指引
#
程序集合并介绍.NET程序集合并功能是将多个dll合并到一个dll或exe文件中,这种方式可以减少应用程序启动时需要加载的文件数量,也可以减少部署时的文件管理,降低版本冲突的可能性等优势。
市面上可以进行.NET程序集合并的一般有ILMerge
、ILRepack
等工具,为了方便用户使用,Virbox Protector
也提供了.NET程序集合并工具
,以下简单介绍工具的使用操作步骤。
#
界面操作1.打开Virbox Protector
工具;
2.点击工具
->.NET程序集合并
,如图所示:
3.打开工具界面,如图所示:
输出文件:指合并后的dll输出路径主程序集:选择合并dll的主dll或exe程序集列表:指要合并的dll文件列表
注意:
1).NET程序集列表里的文件合并的前提是:待合并的dll之间有调用关系,且合并成的那个dll与exe之间也有调用关系;
2)若多个dll之间没有调用关系,主程序exe都可以直接调用,则主程序集需要指定exe,均合并到主程序exe中。
#
命令行操作参数介绍
参数 | 介绍 |
---|---|
-ilmerge | 程序集合并 |
<main_assembly> | 主程序集文件 |
<other_assemblies ...> | 待合并的程序集文件列表 |
-o | 输出文件 |
使用 -ilmerge
选项进行合并:
virboxprotector_con -ilmerge <main_assembly> <other_assemblies ...> -o <output_path>
举例
若多个dll之间没有调用关系,主程序exe都可以直接调用,则主程序集需要指定exe,均合并到主程序exe中。
virboxprotector_con -ilmerge Project.exe MyLibrary1.dll MyLibrary2.dll -o Merged/Project.exe
若待合并的dll之间有调用关系,且合并成的那个dll与exe之间也有调用关系时,将dll合并到主dll中。
virboxprotector_con -ilmerge MainLibrary.dll MyLibrary1.dll MyLibrary2.dll -o Merged/MainLibrary.dll
#
注意1.如果程序中使用到动态加载(如 Assembly.LoadFile(path)
),则不建议进行程序集合并,否则程序运行很可能会出问题。
2.该工具只是.NET程序集合并工具,并不具备加固功能。若想对合并后的程序保护,建议使用Virbox Protector
工具。
3..NET程序集合并工具和使用加固工具Virbox Protector
的顺序是?
答:先对dll程序集进行合并,再对合并后的文件进行加固。