将解决方案中的项目合并到一个项目中?

时间:2010-07-02 13:56:37

标签: c#

我有一些项目的解决方案。如何将所有项目合并到一个项目中?我想编译我的解决方案并在输出处获得单个文件应用程序。


<子> 注意:为清楚起见,此问题已经过编辑。最初它令人困惑,似乎暗示它正在寻找合并已经编译的程序集的信息。

3 个答案:

答案 0 :(得分:4)

我认为你正在寻找ILMerge

答案 1 :(得分:3)

(基于旧问题解释的答案)

我假设您要将所有生成的程序集合并为一个程序集,而不是将项目合并到单个解决方案中。

如果是这种情况,请使用ILMerge

来自网站:

  

ILMerge是一个用于将多个.NET程序集合并到单个.NET程序集中的实用程序。它适用于可执行文件和DLL,并带有几个选项来控制输出的处理和格式。有关详细信息,请参阅随附的文档。

这不是唯一的工具 - 您也可以使用Mono.Merge获得相同的功能。

答案 2 :(得分:3)

您想要合并项目,而不仅仅是程序集?

我不知道任何自动化过程,但我认为你会想做类似的事情:

  1. 创建“主”项目。
  2. 查看其他项目具有的.NET和二进制引用(不是项目引用)。将这些引用添加到“主”项目中。
  3. 为要合并到主项目中的每个项目创建一个文件夹。
  4. 对于每个项目,将该项目中的所有文件复制到主项目中的相应文件夹。确保你给它相同的BuildAction。
  5. 构建!如果构建失败,那么您还有更多工作要做。
  6. 从解决方案中删除原始项目。
  7. 每个项目中的每个文件都使用自己的命名空间吗?如果是这样,以上就是我能想到的所有事情。否则,在尝试将项目合并为一个项目之前,您需要这样做,重新编译并重新测试。