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

c# main entry-point

62590 просмотра

5 ответа

Я не могу понять, что я не так с моим кодом ниже.

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

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

Это мой код:

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

    }           
}
}

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

Автор: user2483549 Источник Размещён: 12.11.2019 09:52

Ответы (5)


18 плюса

Каждая программа на C # нуждается в точке входа. По умолчанию новый проект Windows Forms на c # включает 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());
        }
    }
}

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

Автор: Matt Houser Размещён: 13.06.2013 07:18

12 плюса

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

Автор: ManJan Размещён: 24.10.2013 06:15

5 плюса

простое изменение в коде. Основной метод должен быть «Главный» (Капитал М).

Автор: kaivalya patil Размещён: 16.02.2016 06:46

3 плюса

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

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

Вам нужно либо добавить метод static void main (), как упоминал Мэтт Хаузер, либо перейти в свойства проекта и изменить тип вывода на вкладке «Приложение» на «Библиотека классов».

Автор: Purplegoldfish Размещён: 13.07.2013 04:25

2 плюса

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

Автор: razamzai Размещён: 02.05.2014 06:58
Вопросы из категории :
32x32