首页 > 代码库 > Winfrom 生成不需要安装的exe可执行文件 ILMerge使用

Winfrom 生成不需要安装的exe可执行文件 ILMerge使用

今天应领导要求,把一个程序打包生成一个可以执行的exe文件,不是安装包那种,类似于绿色文件,就是一个exe,可以直接运行。上网查了一下有一个工具可以实现ILMerge。参照两个文档http://blog.sina.com.cn/s/blog_801939a70100vgar.html和http://www.cnblogs.com/seeyeah/archive/2011/08/24/2152628.html才实现了。第一个文档提供的代码为ILMerge /ndebug /target:winexe /out:F:\TestForm\TestForm.exe /logF:\TestForm\Release\TestForm.exe /logF:\TestForm\Release\testdll.dll按照此方式尝试可以生成exe,但是闪退,就是打开以后,闪退,直接就关闭了。查看DOS界面的内容,默认采用的是.net2.0,而程序是用4.0编写的,因此参照第二个文档的/targetplatform:v4 =》 编译平台为.net4.0这个方法最终我写的代码为ILMerge /ndebug /targetplatform:v4 /out:F:\TestForm\TestForm.exe /logF:\TestForm\Debug\TestForm.exe /logF:\TestForm\Debug\testdll.dll文件可以是Debug的,也可以是Release的需要注意的是,虽然输出/out:F:\TestForm\TestForm.exe已经跟着扩展名.exe了,但是如果把.dll文件紧跟后面,生成的是.dll文件,而不是.exe文件,请大家注意。我也是偶遇到这个问题,才发现的,在此提醒用ILMerge的用户。