web-dev-qa-db-fra.com

"ne contient pas de méthode statique" principale "adaptée à un point d'entrée"

Je ne peux pas comprendre quel est mon problème avec mon code ci-dessous.

Lorsque j'essaie de compiler, je reçois le message:

ne contient pas de méthode "principale" statique adaptée à un point d'entrée.

Voici mon code:

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

    }           
}
}

Quelqu'un peut-il me dire où je me suis trompé.

9
user2483549

Chaque programme C # a besoin d'un point d'entrée. Par défaut, un nouveau projet Windows Forms c # inclut une classe Program dans un fichier 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());
        }
    }
}

Vous l'avez probablement manqué ou supprimé.

18
Matt Houser

Votre projet doit être créé en tant que projet vide. Ainsi, le type de sortie s'affiche en tant qu'application console. Changez-la en bibliothèque de classes, et cela devrait fonctionner

12
ManJan

simple changement de code. la méthode principale doit être "Main" (Capital M).

5
kaivalya patil

Je viens d'avoir ce problème moi-même.

J'ai créé un projet winforms, décidé de refactoriser mon code et le projet ne contiendrait plus l'interface utilisateur, j'ai donc supprimé les fichiers Program.cs et winforms uniquement pour obtenir la même erreur que vous obteniez.

Vous devez soit ajouter à nouveau la méthode statique void main () comme Matt Houser mentionné ci-dessus, soit aller dans les propriétés du projet et changer le type de sortie dans l'onglet Application en Bibliothèque de classes.

3
Purplegoldfish

J'ai également vécu ce mal. J'ai changé la liste déroulante située dans l'onglet Propriétés du projet/Application (Type de sortie :). La valeur sélectionnée d'origine était "Bibliothèque de classes" mais je suis passé à "Application Windows" et j'ai trouvé la même erreur. Maintenant résolu.

2
razamzai