12

我无法弄清楚下面的代码有什么问题。

当我尝试编译时,我收到消息:

不包含适合入口点的静态“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;
        }

    }           
}
}

有人可以告诉我哪里出错了。

4

7 回答 7

21

每个 C# 程序都需要一个入口点。默认情况下,新的 c# Windows 窗体项目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());
        }
    }
}

您可能错过或删除了它。

于 2013-06-13T19:18:45.727 回答
17

您的项目必须创建为空项目。所以输出类型显示为控制台应用程序。将其更改为类库,它应该可以工作

于 2013-10-24T18:15:23.603 回答
7

代码的简单更改。main 方法应该是“Main”(大写 M)。

于 2016-02-16T06:46:16.463 回答
3

我自己也有这个问题。

我创建了一个 winforms 项目,决定重构我的代码,该项目现在将不包含 UI,所以我删除了 Program.cs 和 winforms 文件,只是为了得到与您相同的错误。

您要么需要像上面提到的 Matt Houser 那样重新添加静态 void main() 方法,要么进入项目属性并将 Application 选项卡中的输出类型更改为 Class Library。

于 2013-07-13T16:25:20.870 回答
2

我也经历过这种错误。我更改了位于项目属性/应用程序选项卡(输出类型:)中的下拉列表。最初选择的值是“类库”,但我改为“Windows 应用程序”,发现同样的错误。现在解决了。

于 2014-05-02T18:58:01.040 回答
1

晚了,但对我来说,这是一个“控制台应用程序”项目类型,但文件属性中的“构建操作”设置为“无”。将其更改为“编译”,这很好。

于 2020-03-02T22:09:37.993 回答
0

可能是您从项目中删除了程序文件。只需添加 Program.cs 文件即可解决您的问题

于 2020-06-28T18:51:40.013 回答