将一些dll编译成另一个dll

时间:2012-07-10 14:41:49

标签: c# .net visual-studio-2010 dll

我有一个使用一些第三方dll的dll项目。我希望编译结果只是包含在其中的所有第三方dll的一个大dll。如何在Visual Studio 2010中执行此操作?

3 个答案:

答案 0 :(得分:3)

您需要使用ILMerge,假设DLL都是管理的:

http://www.microsoft.com/en-us/download/details.aspx?id=17630

以及一些相关的问题:

ILMerge Best Practices

ILMerge question

答案 1 :(得分:0)

ILMerge是一种仅支持.NET的解决方案(不适用于非托管dll)

一个很好的工具是NETZ(.net可执行程序压缩程序和打包程序),它可以压缩单个exe / dll文件中的所有依赖项。

我最近没有使用它,所以我不知道它是否与.NET 4.0兼容 它在一段时间内没有得到很多更新,但我会尝试一下。

http://madebits.com/netz/

答案 2 :(得分:-1)

您可以采取多种方法来实现这一目标。这是一对夫妇:

  1. 您可以在一个项目中包含源代码(如果可用),然后将其编译为单个二进制文件。

  2. 您可以将外部程序集添加为资源,并在运行时动态加载它们。

  3. 您可以使用类似Eazfuscator.Net的东西,它使用ILMerge在编译时合并程序集。 (也可以直接使用ILMerge,但Eazfuscator具有很好的包装功能)Eazfuscator .Net