Подтвердить что ты не робот

Больше, чем два основных метода в приложении Visual Studio?

В моем проекте у меня есть более двух основных методов с одинаковой подписью. Один из них - winForm, а другой - класс консоли.

Как установить любую из них в качестве точки входа.

Я объявил [STAThread] перед тем, как один из основных методов установить точку входа, но не работает?

Я использую Visual Studio express 2010

4b9b3361

Ответ 1

Перейдите в свойства проекта, щелкнув правой кнопкой мыши проект в проводнике решений и щелкнув свойства. На первой вкладке вы увидите раскрывающийся список для точки входа. Выберите соответствующий основной метод.

Ответ 2

STAThread не устанавливает точку входа - это вынуждает среду выполнения использовать однопоточную квартиру для потока, который выполняет Main.

Как говорит Джош, вам нужно установить объект запуска в свойствах проекта. Если это не показано в VS Express, вам может потребоваться заставить его отобразить расширенные свойства сборки: Откройте "Инструменты" \ "Параметры" и установите флажок "Показывать расширенную конфигурацию сборки" в "Проекты и решения".

Обратите внимание, что ваше приложение должно быть консольным приложением или приложением WinForms. Он может быть построен только как один (для каждой конфигурации). Вы либо закончите с консолью, когда вы начинаете, как приложение WinForms, или консоль не отображается, когда вы запускаете ее в качестве консольного приложения.

Рассматривали ли вы основную часть логики в библиотеке классов, а затем создавали два приложения-оболочки - одну WinForms и одну консоль - которые отображали только соответствующий пользовательский интерфейс, а затем делегировали библиотеку классов?

Ответ 3

Если у программы есть два основных метода компилятора, получите confution, поэтому запустите С# program put main class give

public Class one

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

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

запустить С# в консоли

CSC Multimain.cs/main: one

  • Выход Один

CSC Multimain.cs/main: два

  • Выход Два

Ответ 4

В одну программу можно поместить более одного основного метода, но программа с одним основным методом будет скомпилирована одновременно: Скопируйте этот код в редакторе и измените имя. Выпустите в первой строке и увидите изменение

#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 
}

Ответ 5

вы также можете сделать это, но я не знаю, как установить, какой основной метод будет точкой входа

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

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

Ответ 6

Эта проблема может быть легко решена с помощью шагов здесь 1. Откройте решение 2 разделили два класса на отдельные файлы классов 3. Нажмите вкладку "Проект" в главном меню 4. Переместите курсор в Свойство 5. Выберите нужное имя класса, которое вы хотите запустить для "Reference Path" 6. Скомпилируйте проект, ошибка будет отключена.

Ответ 7

Я не думаю, что это сработает. Он даже не компилирует и не утверждает, что проект имеет два основных метода. В проекте должен быть только один метод public static main. Вы должны переименовать/удалить второй.

Кстати, почему вы хотели бы оставить их обоих?