“不包含适用于入口点的静态'主'方法”

时间:2013-06-13 19:14:33

标签: c# main entry-point

我无法确定下面代码的错误。

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

  

不包含适用于入口点的静态“主”方法。

这是我的代码:

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

    }           
}
}

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

7 个答案:

答案 0 :(得分:18)

每个C#程序都需要一个入口点。默认情况下,新的c#Windows窗体项目在Program.cs文件中包含Program类:

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

你可能错过了这个或删除它。

答案 1 :(得分:11)

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

答案 2 :(得分:5)

代码中的简单更改。 主要方法应该是&#39; Main&#39; (资本M)。

答案 3 :(得分:3)

我自己就是这个问题。

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

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

答案 4 :(得分:2)

我也经历过这个错误。我更改了项目属性/应用程序选项卡(输出类型:)中的下拉列表。原始选择的值是“类库”但我更改为“Windows应用程序”并发现相同的错误。现在已经解决了。

答案 5 :(得分:1)

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

答案 6 :(得分:0)

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