如何将2个或更多c#程序集合并到1个库中?

时间:2011-09-13 05:19:28

标签: c# dll

我有4个dll。但是我希望有一个单独的dll,它将包含来自所有这四个dll的代码。我尝试添加一个项目并将所有现有代码粘贴到一个项目中,但我不能。

3 个答案:

答案 0 :(得分:13)

查看ILMerge

  

ILMerge是一个用于将多个.NET程序集合并到一个   单个.NET程序集。

答案 1 :(得分:8)

您可以使用ILMerge实用程序

或者你可以embed the dlls you want to merge as resources

这里是代码示例:

AppDomain.CurrentDomain.AssemblyResolve += (sender, args) => {
   using (var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(resourceName))
   {
      Byte[] assemblyData = new Byte[stream.Length];
      stream.Read(assemblyData, 0, assemblyData.Length);
      return Assembly.Load(assemblyData);
   }
};

答案 2 :(得分:3)

MS提供了一个工具:ILMerge