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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Visual Studio应用程序中的两个主要方法?相关的知识,希望对你有一定的参考价值。

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

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

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

我正在使用Visual Studio Express 2010

答案

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

另一答案

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

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

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

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

另一答案

如果程序有两个主要方法编译器得到配置那么运行c#程序把主类给出

public Class one

{
public static void main()
{
System.console.writeline("One");
}

public Class two
{
public static void main()
{
System.console.writeline("Two");
}
}

在控制台中运行C#

CSC Multimain.cs / main:一个

  • 输出一

CSC Multimain.cs / main:两个

  • 输出二
另一答案

您可以在声明的每个类中放置Main方法。一些程序员利用这一点在他们声明的每个类中构建一个小测试应用程序。

但是,如果在项目的类中声明多个Main方法,则需要向IDE指示您希望哪个是应用程序的入口点。为此:

  1. 在Visual Studio中打开项目,选择Project> [ProjectName] Properties ...(其中[ProjectName]是项目的名称)。
  2. 选择包含Main方法的类,该方法应该是“启动对象”列表框中的入口点。
另一答案

您可以在单个程序中放置多个main方法,但是一次编译带有一个main方法的程序,例如:复制在编辑器中粘贴此代码并在第一行更改名称Release并查看更改

#define Release 
using System;
class Program
{  
#if Release==true
    public static void Main(string[] args) //for enemy
    {     
        Console.WriteLine("go to  hell");
        Console.ReadLine();
    }


#elif Release==false
    static void Main(string[] args) //for friend
    {    

         Console.WriteLine("hello ");

        Console.ReadLine();
    }

#endif 
}
另一答案

你也可以这样做,但我不知道如何设置哪个主要方法将是入口点

 public static void Main(string args)
    {
        Console.WriteLine("this is second main method");
    }

   public static void Main(string[] args)
    {
        Program.Main("second main method");
   }
另一答案

此问题可以通过以下步骤轻松解决:1。打开解决方案2将两个类拆分为单独的类文件3.单击主菜单栏中的“项目”选项卡4.将光标移动到属性5.选择所需的类要为“参考路径”运行的名称.6。编译项目,错误将会消失。

另一答案

我不认为这会奏效。它甚至不会编译和抱怨该项目有两个主要方法。项目中只能有一个public static main方法。你必须重命名/删除第二个。

顺便说一句,你为什么要保留它们?

以上是关于Visual Studio应用程序中的两个主要方法?的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio 代码中的 JUnit

visual studio 2010中调用另外一个项目中的方法

Visual Studio 中的头文件源文件和资源文件都是什么?有什么区别??

Visual Studio 中的头文件、源文件和资源文件都是啥?有啥区别??

Visual Studio 中两个窗体(WinForm)之间相互传值的方法

Visual Studio 2015/2017 中的 TSLint?