C#将程序编译成2个exe文件

时间:2017-07-14 08:20:34

标签: c# .net compilation

我正在使用Windows Forms在C#中编写应用程序。有时我会更改项目的设置并将“输出类型”设置为“控制台应用程序”。

我想知道是否可以将项目编译为Windows Form Application和Console Application作为2个.exe文件?

2 个答案:

答案 0 :(得分:10)

您应该将您的逻辑放入dll并创建两个应用程序:一个控制台应用程序和一个winforms应用程序。这将是最干净的,在我看来最好的方式。

因此,您可以处理不同的需求,并以最佳方式处理这两种应用程序类型。

答案 1 :(得分:1)

要展开Mighty Badaboom's answer,假设您正在实施 Tic Tac Toe 游戏。

一个好的设计是在自己的类库(dll)中实现与用户界面分离的所有游戏逻辑。在此类库中,您可以定义任何兼容用户界面必须提供的基本常见行为:

public interface IUserInterface
{
    void ShowBoard();
    Move GetPlayerMove(Player player);
    void ShowWinnerAnimation(Player player);
    void ShowDrawAnimation();
    ///etc
}

现在,您可以实现可以通过界面注入Game对象的不同用户界面(控制台,网页,Windows窗体等):

IUserInterface myUserInterface = new WindowsFormsInterface();
var game = new Game(myUserInterface);
game.Run();