2013-06-13 5 views
9

Я не могу понять, что случилось с моим кодом ниже."не содержит статического« основного »метода, подходящего для точки входа»

Когда я пытаюсь скомпилировать я получаю сообщение:

не содержит статический «главный» метод, подходящий для точки входа.

Это мой код:

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Windows.Forms; 

namespace RandomNumberGenerator 
{ 

public partial class Form1 : Form 
{ 
    private const int rangeNumberMin = 1; 
    private const int rangeNumberMax = 3; 
    private int randomNumber; 

public Form1() 
{    
     randomNumber = GenerateNumber(rangeNumberMin, rangeNumberMax); 
} 

private int GenerateNumber(int min,int max) 
    { 
     Random random = new Random(); 
     return random.Next(min, max); 
    } 

private void Display(object sender, EventArgs e) 
    {      
     switch (randomNumber) 
     { 
      case 1: 
      MessageBox.Show("A"); 
      break; 
      case 2: 
      MessageBox.Show("B"); 
      break; 
      case 3: 
      MessageBox.Show("C"); 
      break; 
     } 

    }   
} 
} 

Может кто-то пожалуйста, скажите мне, где я не так.

+1

'Random random = new Random(); return random.Next (min, max); 'dont new it. Сделайте верхний уровень экземпляра 'random' (член класса). – nawfal

+1

У вас есть файл Program.cs в вашем проекте? Если нет, этого не хватает. –

+0

Где находится класс программы? –

ответ

16

Для каждой программы C# требуется точка входа. По умолчанию, новый C# Windows Forms проект включает в себя Program класса в файле Program.cs:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Threading.Tasks; 
using System.Windows.Forms; 

namespace StackOverflow6 
{ 
    static class Program 
    { 
     /// <summary> 
     /// The main entry point for the application. 
     /// </summary> 
     [STAThread] 
     static void Main() 
     { 
      Application.EnableVisualStyles(); 
      Application.SetCompatibleTextRenderingDefault(false); 
      Application.Run(new Form1()); 
     } 
    } 
} 

Вы, вероятно, недостающее это или удалите его.

3

У меня была эта проблема сама.

Я создал проект winforms, решил реорганизовать свой код, и проект теперь не будет содержать пользовательский интерфейс, поэтому я удалил файлы Program.cs и winforms только для получения той же самой ошибки, которую вы получали.

Вам также необходимо добавить статический метод void main() в качестве Matt Houser, упомянутый выше, или перейти к свойствам проекта и изменить тип вывода на вкладке «Приложение» в «Библиотека классов».

9

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

1

Я также испытал это неправильно. Я изменил раскрывающийся список, расположенный на вкладке «Свойства проекта»/«Приложение» (тип вывода :). Исходное выбранное значение было «Class Library», но я изменил его на «Приложение Windows» и обнаружил ту же ошибку. Теперь разрешено.

4

простой изменение в коде. Основным методом должен быть «Основной» (Capital M). Вот и все.