C# 合并DLL, 合并DLL进入EXE

原文:C# 合并DLL, 合并DLL进入EXE

使用方法非常简单
在项目属性窗口中,选择"生成事件",在"生成后事件命令行"下的文本框中输入
ilmerge /ndebug /t:dll /log c:/1/DevExpress.Data.v7.3.dll c:/1/DevExpress.OfficeSkins.v7.3.dll c:/1/DevExpress.Utils.v7.3.dll c:/1/log4net.dll /out:c:/1/kkun/Tstring.Core.DLL

然后编译就可以合并多个DLL到一个DLL了,
其中有两个非常重要的参数,更多的参数可以看安装后的帮助文件
/log 后边直接跟你要合并的DLL,多个DLL用空格隔开即可
/out:参数后跟要生成的DLL名称,该DLL可以实际存在,也可以不存在
更多高级技巧还要自己多看帮助,
这里有一些小技巧,例如,ILMerge合并后的DLL将默认使用第一个输入的DLL的AssemblyInfo的声明,
那现在你可以把自己写的DLL放在第一位,
而把类似log4net,aspnetpager等第三方DLL放到后面,这样生成的DLL就是你自己的AssemblyInfo了,
单看程序集别人基本上不会猜到你用了那些第三方控件了!

合并DLL进EXE 方法同上

ilmerge /ndebug /t:winexe /out:D:/SetupService/newService.exe /log D:/SetupService/WindowsService.exe D:/SetupService/DataSetSurrogate.dll D:/SetupService/Utilities.dll D:/SetupService/Interop.ADODB.dll D:/SetupService/Interop.ADOX.dll

时间: 2024-10-10 00:57:50

C# 合并DLL, 合并DLL进入EXE的相关文章

ilmerge工具合并多个DLL或EXE

这是一个微软提供的合并多个DLL 或是将DLL合并进EXE的工具 首先下载这个工具:ilmerge http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=17630 合并成DLL: C:\Program Files (x86)\Microsoft\ILMerge>ilmerge /log /t:dll /out:D:\temp\myexcel\bobatools.dll D:\product\IloliD

[C#]使用ILMerge将源DLL合并到目标EXE(.NET4.6.2)

本文为原创文章,如转载,请在网页明显位置标明原文名称.作者及网址,谢谢! 本文主要是使用微软的ILMerge工具将源DLL合并到目标EXE,因此,需要下载以下工具: https://www.microsoft.com/en-us/download/details.aspx?id=17630 或在百度网盘下载: https://pan.baidu.com/s/1qYyqJCC 将该软件进行确定性安装即可. 工具安装完毕后,需使用cmd命令提示符进入该目录使用该工具,命令为: CD C:\Progr

[C#]使用Costura.Fody将源DLL合并到目标EXE

本文为原创文章,如转载,请在网页明显位置标明原文名称.作者及网址,谢谢! 一.本文主要是使用Costura.Fody工具将源DLL合并到目标EXE,因此,需要从以下任一链接下载: ①从Github地址下载: https://github.com/Fody/Costura/releases ②从百度网盘下载: https://pan.baidu.com/s/1kV9W34b ③[推荐]从Nuget地址安装工具: https://www.nuget.org/packages/Costura.Fody

c#合并多个dll文件到目标

今天想整理一下最近写过的代码,想把常用功能打包成dll,方便后续使用,但是一个Library build出来之后一堆依赖dll,这样不方便在接下的项目使用,于是就在网上搜索,发现了一个好工具,不用写一行代码就可轻松实现合并多个dll,当然build的时候还会产生出依赖的dll,但引用的时候可以不考虑这些依赖,一款名为Fody.Costura的工具.Fody.Costura是一个Fody框架下的插件,可通过Nuget安装到VS自己的工程中.安装之后,rebuild一下,就可以将项目所有依赖的DLL

ILMerge合并多个DLL

序言 如果你的项目要提供多个dll给别人用,那么不妨让你的dll合并为一个,让别人看起来简洁,引用起来不会过于繁琐. 本篇比较少,但也算是比较实用吧. 下载微软的辅助工具ILMerge Imerge下载地址:https://www.microsoft.com/en-us/download/details.aspx?id=17630 下载完,傻瓜式下一步. 合并多个Dll 场景:C盘有2个dll,分别为: C:\A.dll ,C:\B.dll 结果:合并为C:\C.dll 具体操作: 首先我的IL

ILMerge合并多个DLL (转)

序言 如果你的项目要提供多个dll给别人用,那么不妨让你的dll合并为一个,让别人看起来简洁,引用起来不会过于繁琐. 本篇比较少,但也算是比较实用吧. 下载微软的辅助工具ILMerge Imerge下载地址:https://www.microsoft.com/en-us/download/details.aspx?id=17630 下载完,傻瓜式下一步. 合并多个Dll 场景:C盘有2个dll,分别为: C:\A.dll ,C:\B.dll 结果:合并为C:\C.dll 具体操作: 首先我的IL

0x0F19B7EC (ucrtbased.dll)处(位于 ex6.exe 中)引发的异常: 0xC0000005: 写入位置 0x00740000 时发生访问冲突。

下面的代码在编译,运行时没有问题,在输入内容是出现异常如下: 0x0F19B7EC (ucrtbased.dll)处(位于 ex6.exe 中)引发的异常: 0xC0000005: 写入位置 0x00740000 时发生访问冲突. #include "stdafx.h"#include <conio.h>#include <stdio.h> int main(){ int NUM, I; struct STUDENT { char NAME[30]; int A

驱动里执行应用层代码之KeUserModeCallBack(WOW64是由三个动态库wow64.dll wow64win.dll wow64cpu.dll来实现)

在驱动层(ring0)里执行应用层(ring3)代码,这是个老生常谈的技术,而且方法也挺多. 这种技术的本质:其实就是想方设法在驱动层里把应用层代码弄到应用层去执行. 比如在APC异步调用中,KeInsertQueueApc,KeInitializeApc等函数中可设置一个在ring3层执行一个回调函数,这样就可以回到应用层去执行代码了. 再比如在驱动中查找某个进程的一个线程,然后挂起它,把他的EIP指向需要执行的一段代码(把驱动层需要注入的这段代码叫ShellCodde), 执行完之后再回到线

vs2010 自动关闭 无法加载dll uiautomationcore.dll

打开项目后,编写代码或做其他操作时,vs会自动关闭,其 中一个错误提示是: 无法加载dll uiautomationcore.dll :找不到指定的程序..异常来自:hresult:0x800700F.今天我遇到了这个问题,打过这个补丁 WindowsServer2003-KB971513-x86-CHS.exe就可以了.因为我用的是server 2003的系统,如果你的是xp的,请下载 WindowsXP-KB971513-x86-CHS.exe,遇到这个问题时不防可以试试.