我们需要发布的exe文件很多时候都可能会依赖于一堆松散的dll,如果想在发布的时候只提供exe文件,而不想把一大堆dll一起放在和exe同一个文件夹下,是有方法的,该方法由CLR via C#作者提出,我在实践的过程中遇到的几点问题,现在记录下总体的流程和该注意的事项. 一.新建需要使用的类库: 1.打开VS,新建类库,使用默认的ClassLibrary1名称. 2.在Class1中添加一个公开的方法:HelloWrold,并且返回一个字符串.   二.以Winform为例来写个exe程序. 1…
http://www.cnblogs.com/Jarvin/p/3721195.html 我们需要发布的exe文件很多时候都可能会依赖于一堆松散的dll,如果想在发布 的时候只提供exe文件,而不想把一大堆dll一起放在和exe同一个文件夹下,是有方法的,该方法由CLR via C#作者提出,我在实践的过程中遇到的几点问题,现在记录下总体的流程和该注意的事项. 一.新建需要使用的类库: 1.打开VS,新建类库,使用默认的ClassLibrary1名称. 2.在Class1中添加一个公开的方法:H…
使用场景 通常开发的Winform程序,引用了其他类库后,在输出目录下都会产生很多DLL文件,exe执行时必须依赖这些DLL.想要Winform程序只有一个可执行exe文件,又不想打包成安装包,就可以采用该方法. 方案一 利用ILMerge将exe及dll合并成一个新的exe ILMerge下载地址:https://www.microsoft.com/en-us/download/details.aspx?id=17630 将ILMerge.exe复制到exe所在目录,执行以下命令 ILMerg…
使用场景 通常开发的Winform程序,引用了其他类库后,在输出目录下都会产生很多DLL文件,exe执行时必须依赖这些DLL.想要Winform程序只有一个可执行exe文件,又不想打包成安装包,就可以采用该方法. 方案一 利用ILMerge将exe及dll合并成一个新的exe ILMerge下载地址:https://www.microsoft.com/en-us/download/details.aspx?id=17630 将ILMerge.exe复制到exe所在目录,执行以下命令 ILMerg…
原文:控件注册 - 利用资源文件将dll.ocx打包进exe文件(C#版) 很多时候自定义或者引用控件都需要注册才能使用,但是如何使要注册的dll或ocx打包到exe中,使用户下载以后看到的只是一个exe,点击直接运行呢?就像很多安全控件,如支付宝的aliedit.exe那样. 现在介绍一种使用资源文件,将dll.ocx打包进exe,点击直接注册的例子: 首先,新建一个工程RegisterFile.  新建文件夹Resource,里面添加需要注册的ocx或dll.这里我添加的是dsoframer…
一个Eclipse的工程,在pom中配置了若干依赖,需要将pom中所有的依赖全部打包进一个jar包中,可以选择的方案有maven-assembly-plugin和fatjar.以前采用fatjar进行打包,但是fatjar有不少问题, 1. 最近一次更新是在09年,无法支持新版本的eclipse. 2.支持最高的jdk版本是1.7 3. 打包速度慢(不是一般的慢) 4. 打成的jar包体积略大. 下面是一个Eclipse的工程,其中含有不少的maven依赖包: 采用export成runnable…
开发程序的时候经常会引用一些第三方的DLL,然后编译生成的exe文件就不能脱离这些DLL独立运行了. 但是,很多时候我们本想开发一款只需要一个exe就能完美运行的小工具.那该怎么办呢? 下文介绍一种超简单的方法,不用写一行代码就可轻松实现. 这里我们需要用到一款名为Costura.Fody的工具.Costura.Fody是一个Fody框架下的插件,可通过Nuget安装到VS工程中.安装之后,就可以将项目所依赖的DLL(甚至PDB)文件全部打包到EXE文件里. 使用方法 在VS中,通过Nuget为…
原文:将dll放进exe[.Net] 两种方案: 1.使用ILMerge工具. 缺点:需离开工程,使用第三方工具(ILMerge). 2.将dll作为Resource放进exe,exe执行时动态加载(Load)Resources内的dll. 缺点:需编写多余代码,加载速度问题. 参考代码: public partial class App : Application { public App() { AppDomain.CurrentDomain.AssemblyResolve += (send…
在做.Net底层编码过程中,为了功能独立,有可能会生成多个DLL,引用时非常不便.这方面微软提供了一个ILMerge工具原版DOS工具,可以将多个DLL合并成一个.下载完成后需要安装一下,然后通过DOS命令进入.具体用法如下: D:\Program Files\Microsoft\ILMerge>ilmerge /log:log.txt /targetplatform:v4 /  out:merge.dll AnalysisLibrary.dll USBClassLibrary.dll  说明:…
源地址:http://blog.csdn.net/ztz0223/article/details/8939341 将Qt 动态链接生成的exe及依赖dll打包方法 原文:http://www.qtcn.org/bbs/read-htm-tid-53333.html,我仅仅是没有带图片,懒得上图,然后修改了下载链接. Qt静态编译链接生成的exe文件,不需依赖七大姑八大姨的一堆dll,可以独立运行,发布很方便.但绝大多数用的都是Qt开源版本,如果用静态链接,会有些限制.那有没有办法即能享受静态编译…