如何从单个解决方案生成多个.exe文件?

时间:2013-05-30 14:40:41

标签: c# mono monodevelop

我正在使用MonoDevelop在单独的解决方案中开发2个简单的C#程序。

由于它们的性质,它们共享类似的代码库。这两个程序中的大量对象是相同的。

我想将合并这两个解决方案整合到一个解决方案中,但我需要单一解决方案在构建时生成两个单独的.exe文件(因此我需要实现两个不同的主要()函数等。)。

这可能吗?如果没有,我有什么替代方法来合并解决方案之间共享的代码?

2 个答案:

答案 0 :(得分:2)

制作单一解决方案并包含现有项目。然后将所有共享代码放入其自己的(新)项目中,并在两个现有项目中使用项目引用。你仍然会得到一个共同的DLL(由新项目构建,它应该是一个类库)。

答案 1 :(得分:2)

您将解决方案分成三个项目:

DLL /类库

  • 包含所有共享代码

EXE 1

  • 引用DLL
  • 使用共享代码

EXE 2

  • 引用DLL
  • 使用共享代码

DLL应尽可能多地包含两个exes共享的代码。这是DRY,因为您可以同时为两个程序更改它。

更好的是,如果有一天你决定将其中一个.exes转换为不同类型的应用程序,即网络应用程序或Windows手机的移动应用程序,则无需重写所有内容。