Visual Studio应用程序中的两个主要方法?

Paw*_*anS 19 c# visual-studio-2010 visual-studio-2008

在我的项目中,我有两个以上具有相同签名的Main方法.一个是winForm,另一个是Console类.

如何将其中任何一个设置为入口点.

[STAThread]在一个主要方法之前声明设置入口点但它不起作用?

我正在使用Visual Studio Express 2010

Jos*_*osh 33

通过右键单击解决方案资源管理器中的项目进入项目属性,然后单击属性.在第一个选项卡上,您将看到入口点的下拉列表.选择适当的主方法.

  • 它被标记为"启动对象".这是一个来自全新控制台应用程序的屏幕截图.http://www.screencast.com/t/27JwRJ0F (3认同)

Jon*_*eet 8

STAThread 不设置入口点 - 它强制运行时为执行Main的线程使用单线程单元.

正如Josh所说,您需要在项目属性中设置启动对象.如果未在VS Express中显示,则可能需要强制它显示高级构建属性:打开Tools\Options并选中Projects and Solutions中的"Show advanced build configuration".

请注意,您的应用程序要么必须是一个控制台应用程序 WinForms应用程序.它只能构建为一个(每个配置,无论如何).您最终会得到一个控制台,显示您何时启动是作为WinForms应用程序,还是没有控制台显示您何时启动它作为控制台应用程序.

您是否考虑将大量逻辑放在类库中,然后创建两个包装器应用程序 - 一个WinForms和一个控制台 - 它们只显示相关的UI然后委托给类库?