有时候我们在发布程序的时候只想发布一个EXE,而编写程序的时候往往会有多个DLL,这个时候如果能把这些DLL装进EXE将是一个很令人振奋的事情,事实上对于C#程序有很多方法如下:
1. 使用微软的ILMerge(缺点:不支持WPF程序);
2. 将DLL添加到EXE的资源(http://blogs.msdn.com/b/microsoft_press/archive/2010/02/03/jeffrey-richter-excerpt-2-from-clr-via-c-third-edition.aspx);
3. 使用开源工具Fody/Costura(GitHub主页),其原理同方法2;
3.1 从NuGet安装Costura.Fody(NuGet安装方法:http://docs.nuget.org/docs/start-here/installing-nuget,然后在VS的工具菜单就可以看到NuGet程序包管理器,打开其控制台,然后输入命令如下:
PM>Install-Package Fody -Version 1.24
PM> Install-Package Costura.Fody
3.2 如果你不知道命令怎么用,也可以用图形界面,直接搜Costura即可,可以指定安装到那个工程。
4. DotNetReactor 官方主页
5. 使用其他工具;