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…
今天做了一个IM自动更新的软件,里面牵扯到了文件的解压和接口签名加密,使用了2个第三方的dll,想发布的时候才发现调用的类没几个,就像把它们都跟EXE文件打包在一起,以后复制去别的地方用也方便,于是上网搜了一下,发现网上大部分都是用ILMerge实现的,于是也自己试了一下,不过网上都没有详细的步骤演示,我就花点时间做了个教程,方便以后再有人想打包自己的程序,有篇文章可以参考,好了废话少说,马上开始: 1.先到http://www.microsoft.com/downloads/details.a…
ILMerge是一个将多个.NET程序集合并到一个程序集中的实用程序.它既可以作为  开源使用,也可以作为NuGet包使用. 如果您在使用它时遇到任何问题,请与我们联系.(mbarnett _at_ microsoft _dot_ com).但首先尝试阅读文档. ILMerge接受一组输入程序集并将它们合并到一个目标程序集中.输入程序集列表中的第一个程序集是主程序集.当主程序集是可执行文件时,目标程序集将创建为具有与主程序集相同的入口点的可执行文件.此外,如果主程序集具有强名称,并且提供了.sn…
原文:wpf dll和exe合并成一个新的exe 微软有一个工具叫ILMerge可以合并dll exe等,但是对于wpf的应用程序而言这个工具就不好用了.我的这方法也是从国外一个博客上找来的.仅供大家参考. 第一步:把下面的代码写到你的项目文件的标准的Microsoft.CSharp下面,也就是.csproj的文件里 <Target Name="AfterResolveReferences"> <ItemGroup> <EmbeddedResource I…
序言 如果你的项目要提供多个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 /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 然后编译就可以合并多个DL…
原文: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/Tstrin…
最近在研究CodeDom,用到ILMerge 序言 如果你的项目要提供多个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 结果:合…
Dependency Walker工具: 该工具用来查看dll依赖库和依赖库内的函数. 左上角:模块依赖树,表示该dll所依赖的其它dll文件 右上角:导入函数,即与当前根模块有关系的函数(即根模块或根模块的子模块使用到的模块) 右中间:导出函数,即当前模块所有可以导出的函数(即可以被外界调用的函数). 下面:模块列表视图,用于显示所依赖的dll模块的信息,如果加载错误会红色标出 最下面:日志视图,显示出错模块的信息 具体查看:如何使用查看DLL神器DependencyWalker 另一篇文章生…
用了3层架构,运行目录下有很多dll文件,最终发布时,我打算将dll文件都合并到exe文件中去.微软发布的免费软件ILmerge可以完成这项工作,研究了一下,其用法如下: 1.合并file1.dll.file2.dll到destination.dll ILmerge /ndebug /target:dll /out:C:\destination.dll /log C:\file1.dll C:\file2.dll 2.合并file1.dll.file2.dll以及myApp.exe到newApp…
多个DLL合并成一个DLL,把DLL合并到Exe中的解决方案 1:) 下载 http://download.microsoft.com/download/1/3/4/1347C99E-9DFB-4252-8F6D-A3129A069F79/ILMerge.msi 2:) 开始->运行 -> "cmd" -> "cd C:\Program Files\Microsoft\ILMerge" 3:) 3.1.合并file1.dll.file2.dll到d…
有时候自己写个小工具或者其它啥的物件,引用了好多第三方控件,如log4net,aspnetpager啥的,发布出去让别人看到自己竟然用了这么多的第三方DLL, 会对自己的能力产生怀疑,那有什么办法可以解决这种情况嗫? 这就是下面要推荐一个小工具,名称叫"ILMerge",这个东东不开源 使用倒也算简单,下载地址:http://www.microsoft.com/downloads/details.aspx?familyid=22914587-b4ad-4eae-87cf-b14ae6a…
复杂项目中会引用大量的第三方dll文件,为了便于管理会尝试把相关打包合并成一个dll文件. 推荐使用ILMerge,如需使用网上自行下载. 使用方法: cd 安装目录 ILmerge /target:library /targetplatform:v4 /out:C:\C.dll /log:log.txt C:\A.dll C:\B.dll 说明: /target:library 输入为dll /targetplatform:v4 编译平台为.net4.0 /log:log.txt 命令是将生成…
如何比较两个.NET程序集(DLL或EXE)是否相同呢? 直接比较文件内容?当然没那么简单了,这个你可以去试试,去比较一下两次Build产生的程序集, 就算内容没有改变,产生的程序集的二进制文件也是不同的.   其实,当两次Build后,程序集中,有3个地方会不同: MVID值会不同 ImageBase值会不同 时间戳会不同 因此,要比较两个程序集是否完全相同,可以先刨除掉这三个值后,再进行比较.   以下文章中就介绍了该思路的具体实现.我也参考着实现了自己的比较工具,用于日常项目中程序集的比较…
网上很多例子,各种套路,就是没有测试过. WPF 将DLL嵌入EXE文件的套路是这样的 1.将要引用的dll源文件添加到wpf 项目中,dll 的属性->生成操作为[嵌入的资源]. 2.监听    AppDomain.CurrentDomain.AssemblyResolve 事件 监听的事件的位置很重要,跟wpf 的运行顺序有关系吧. 找到wpf 项目中的App.xaml 文件,App.xaml.cs 类的构造函数中监听. public App() { CatchException(); Ap…
本博客中以“C#.Net 如何动态加载与卸载程序集(.dll或者.exe)”开头的都是引用莫问奴归处 微软装配车的大门似乎只为货物装载敞开大门,却将卸载工人拒之门外.车门的钥匙只有一把,若要获得还需要你费一些心思.我在学习Remoting的时候,就遇到一个扰人的问题,就是Remoting为远程对象仅提供Register的方法,如果你要注销时,只有另辟蹊径.细心的开发员,会发现Visual Studio.Net中的反射机制,同样面临这个问题.你可以找遍MSDN的所有文档,在Assembly类中,你…
dll 与 exe 之间的通讯方式有很多种, 本文采用回调函数的方法实现, 本文也将研究多线程,多模块的情况下,回调函数所在的线程, 啥也不说了,先附上代码: 下面的是dll模块的的, dll的工程文件: library DllAPP; uses windows, SysUtils, Classes, DllClass in 'DllClass.pas'; {$R *.res} var GDllServer: TDllServer; function AddServer(ADispatchFun…
将程序包含的资源文件释放到硬盘上 1.VS2017-新建  winform(窗体应用)命名为 loader 2.在解决方案管理器中,展开项目loader 在 properties 下面,找到[Resources.resx],然后双击它. 3.在打开的添加资源窗口中,点[添加资源]右边的三角形按钮,再点“添加现有文件”,找到我们要添加的dll或exe文件即可. 4. 资源添加成功后,我们就可以在解决方案中 的文件夹[Resources]看到我们添加的dll或exe文件了. 5.资源添加成功后,就可…
Symptoms When accessing an STL object created in one DLL or EXE through a pointer or reference in a different DLL or EXE, you may experience an access violation or other serious program errors including the appearance of data corruption or data loss.…
检查DLL,EXE文件是64位或者32位:输入corflags <assembly path>:…
本文回顾学习一下Windows动态链接库:dll与exe相互调用问题.一般滴,exe用来调用dll中的类或函数,但是dll中也可以调用exe中的类或函数,本文做一些尝试总结. dll程序: Calculator.h  1234567891011121314151617181920212223242526272829303132333435   // Calculator.h: interface for the Calculator class. // /////////////////////…
文章:dll与exe的区别 地址:https://blog.csdn.net/qq_26591517/article/details/80389846…
使用VS里面的dumpbin.exe 用法:dumpbin /headers *.exe(需要运行vcvarsall.bat) C32 or Winhex PE  L为x86.PE  d†为x64 PE结构详解:http://blog.csdn.net/reversalc/article/details/8022977 http://blog.csdn.net/evileagle/article/category/1637517 VC++检测可执行程序DLL.EXE等是32位还是64位 COFF…
1.打开Nuget包管理器 2. 输入 Install-Package Costura.Fody -Version 3.3.0 3.之后Costura.Fody会嵌入到工程中,如果没有手动添加一下 4.之后重新编译工程…
步骤一:先下载微软的工具 ilmerge.exe 地址:http://www.microsoft.com/en-us/download/details.aspx?id=17630 步骤二:安装好之后 开始→ 运行 → cmd → D:\Program\Microsoft\ILMerge\ILMerge.exe /target:library /targetplatform:v4 /out:"D:\dlls\classC.dll" "D:\dlls\classB.dll&quo…
1.下载XHProf 到这里 http://dev.freshsite.pl/php-extensions/xhprof.html 下载Windows版本的XHProf,我这里选择下载 XHProf 0.10.3 for PHP 5.3 vc9 和 xhprof_html 2.安装XHProf 把压缩包里的 xhprof_0.10.3_php53_vc9.dll 拷贝到PHP的ext目录下,然后在php.ini配置里面加入配置(不要忘记创建对应的文件夹) [xhprof] extension=x…
前两次呢,我们能够用一个外部的jar 来实现输出helloWorld.但问题是我每次都要用java -jar 来执行,这样我们自己玩还可以,让用户玩就不好了.所以我们生成一个exe给他们吧.这次我们仍然打印一个helloWorld,照例直接上代码, 1.进入目录D:\work\gradle\exe,新建文件build.gradle,键入内容: apply plugin: 'application' // 引入java插件, repositories { // 从哪里找jar包 flatDir {…
A while back I was working on a small C# WinForms application in Visual Studio 2008. For the sake of simplifying the deployment process of the application, having all of its components bundled up into one exe file would make it much easier to manage.…
有些文件是必须一起使用的,如果能把多个DLL打包成一个DLL文件,那么引用文件的时候就不需要一个个地去引用,而且每次移动文件的时候也不至于少了哪个必须的DLL文件. 多个DLL文件打包成一个DLL文件的方法如下: 1.先到下面的网址下载ILMerge安装 http://www.microsoft.com/en-us/download/details.aspx?id=17630 2.安装完之后,执行cmd命令,进入ILMerge目录, 把test.dll. test1.dll. test2.dll…
最近在对AppDomain编程时遇到了一个问题,卸载AppDomain后,在内存中还保留它加载的DLL的数据,所以即使卸载掉AppDomain,还是无法更新它加载的DLL.看来只有关闭整个进程来更新DLL了. -------------------------------------------------------------------------------------------------------------- 我们知道,进程是操作系统用于隔离众多正在运行的应用程序的机制.在.N…