ilmerge合并多个组件

简介: 原文 http://www.cnblogs.com/margiex/archive/2008/06/24/302329.html 年初的一篇文章中提到过一下: http://margiex.cnblogs.

原文 http://www.cnblogs.com/margiex/archive/2008/06/24/302329.html

年初的一篇文章中提到过一下:
http://margiex.cnblogs.com/archive/2005/01/31/100104.html

现在已经支持.net 2.0的版本了. 最近由于开发一个客户端程序用到多个DLL, 因此考虑使用ILMERGE来合并成一个, 这两天试了一下. 一个简单的示例如下:


ilmerge /ndebug /target:exe /targetplatform:v1.1 /out:newclient.exe oldclient.exe /log AutoUpdater.dll DockingSuite.dll DocumentManager.dll FileHelpers.dll OutlookBar.dll SandBar.dll ICSharpCode.SharpZipLib.dll

解释如下:
target: 指定输出组件的类型,有DLL/EXE/WINEXE; (如果是EXE,则程序在执行的时候将出现一个DOS窗口(即使是WINFORM的程序). 因此应该设置target为winexe)
targetplatform: 输出组件的.net运行版本;
out: 合并后的组件全名;
后面是主要的被合并的组件名称, 及相关所有的其它DLL;
上面的示例只是合并为EXE, 也可以多个DLL合并成一个DLL使用, 各自的命名空间不会改变;

1. 不能合并interop这种由COM转换过来的DLL; (可以合并,但相关依赖的DLL必须也一起合并, 第一次合并的时候只有Excel.dll,总是报错,以为是interop的缘故,后来才发现是没有合并vbide.dll的缘故,复制到目录再一起合并,一切OK.)
2. 如果有资源DLL, 应该将要被合并的oldclient.exe先改为别的名称,然后合并后的输出命名为:oldclient.exe,因为资源文件名 是:oldclient.resources.dll,而ILMERGE不能合并资源文件,否则在导出后将找不到此资源文件。(如果哪位知道如何合并资源 文件,请指教,谢谢)
3. 虽然合并后的EXE比较大,但在用户那里只有一个EXE,这样直观的多,也容易升级维护.

目录
相关文章
原生表格-滚动-合并功能
原生表格-滚动-合并功能
39-Vue之实现表格首列相同数据合并
39-Vue之实现表格首列相同数据合并
|
11月前
|
存储 JavaScript 前端开发
js 对象合并 与数组合并
在 JavaScript 中,对象和数组都是非常常见的数据结构,它们可以用来存储和操作数据。有时候我们需要将两个对象或数组合并在一起,以便更好地进行操作。本文将会介绍如何在 JavaScript 中合并对象和数组。
|
JavaScript
通过js合并表格重复出现的数据
通过js合并表格重复出现的数据
93 0
lodash合并函数,可以定制合并值
lodash合并函数,可以定制合并值
78 0
|
数据处理
两个接口数据合并
数据处理
197 0
|
前端开发
前端项目实战41-子组件嵌套memo防止重复渲染
前端项目实战41-子组件嵌套memo防止重复渲染
66 0
学习笔记jira项目57-合并组件组件状态
学习笔记jira项目57-合并组件组件状态
57 0
学习笔记jira项目57-合并组件组件状态
|
前端开发 开发者
评论列表案例-将评论列表组件和评论项组件抽离为单独的组件|学习笔记
快速学习评论列表案例-将评论列表组件和评论项组件抽离为单独的组件
55 0
评论列表案例-将评论列表组件和评论项组件抽离为单独的组件|学习笔记
|
前端开发
评论列表案例-将评论列表组件和评论项组件抽离为单独的组件
评论列表案例-将评论列表组件和评论项组件抽离为单独的组件
评论列表案例-将评论列表组件和评论项组件抽离为单独的组件