“does not contain a static 'main' method s

2019-01-12 05:59发布

I can't figure what's my wrong with my code below.

When I try to compile I get the message:

does not contain a static 'main' method suitable for an entry point.

This is my 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;
        }

    }           
}
}

Can someone please tell me where I've gone wrong.

5条回答
Anthone
2楼-- · 2019-01-12 06:38

I have also experienced this wrong. I changed the dropdown situated in Project properties/Application tab (Output type:). The original selected value was "Class Library" but i changed to "Windows Application" and found same error. Now resolved.

查看更多
男人必须洒脱
3楼-- · 2019-01-12 06:41

simple change in code. main method should be 'Main' (Capital M).

查看更多
贪生不怕死
4楼-- · 2019-01-12 06:42

I just had this issue myself.

I created a winforms project, decided to refactor my code and the project would now not contain the UI, so I deleted the Program.cs and winforms files only to get the same error you were getting.

You either need to re add the static void main() method as Matt Houser mentioned above, or go into the project properties and change the output type in the Application tab to Class Library.

查看更多
干净又极端
5楼-- · 2019-01-12 06:49

Your project must be created as an empty project. So the output type shows as Console Application. Change it to Class library, and it should work

查看更多
啃猪蹄的小仙女
6楼-- · 2019-01-12 06:53

Every C# program needs an entry point. By default, a new c# Windows Forms project includes a Program class in a Program.cs file:

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

You are probably missing this or deleted it.

查看更多
登录 后发表回答