将一个C#项目编译成另一个

时间:2009-08-06 13:54:03

标签: c# .net visual-studio visual-studio-2008

我有一个使用其他程序集的C#应用​​程序,所以当我编译时,我最终得到了我的.exe和2或3个其他.dll文件。理想情况下,我只想要1个.exe文件。目前我使用ILMerge,但由于我使用的程序集是开源的(并且在相同的许可下),我想知道是否有一种简单的方法将它们添加到我的解决方案并将它们编译成.exe?< / p>

我做的想要:

  • 在我的主.exe中创建一个子文件夹并将所有其他文件复制到其中
  • 将其添加为单独的解决方案,然后使用“添加为链接”
  • 将其添加到我的.exe项目中

我认为ILMerge或多或少正在做我想要的,但如果我已经在编译器级别上应用合并,那就是我想要的。

毋庸置疑,引用的程序集没有main()函数,因此不会产生任何冲突。

2 个答案:

答案 0 :(得分:2)

您可以将依赖项添加为嵌入式资源,然后手动添加load them,但这需要更改代码,因此它并不理想。

我认为ILMerge是您最好的选择。

答案 1 :(得分:1)

由于我从未尝试过这个,我不知道这是否会起作用和/或满足您的期望,但是,有一个选项可以将.net代码编译到netmodule而不是程序集,然后理论上是那些模块,可以添加到其他程序集中,您可以阅读herehere