我不明白下面的代码有什么问题。
当我尝试编译时,我收到消息:
不包含适合入口点的静态“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;
}
}
}
}
有人可以告诉我哪里出了问题吗?
每个 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());
}
}
}
您可能错过了这个或删除了它。
您的项目必须创建为空项目。因此输出类型显示为控制台应用程序。将其更改为类库,它应该可以工作
简单更改代码。 主要方法应该是“Main”(大写M)。
我的情况非常奇怪 - 应用程序之前构建得很好,但有一刻我遇到了同样的问题。
我有什么: 控制台应用程序
public static async void Main(string[] args)
所以我的main是async,但是返回类型是void,但是必须是Task
public static async Task Main(string[] args)
之前与 void 合作得很好,不知道是什么触发了这个场景,其中 void 变得无法构建
́ \ (ツ) / ́
右键单击项目 --> 转到属性 --> 将输出类型更改为“类库”
我自己也遇到了这个问题。
我创建了一个 winforms 项目,决定重构我的代码,该项目现在不包含 UI,因此我删除了 Program.cs 和 winforms 文件,结果却得到了与您相同的错误。
您需要像上面提到的 Matt Houser 那样重新添加 static void main() 方法,或者进入项目属性并将“应用程序”选项卡中的输出类型更改为“类库”。
我也经历过这样的错误。我更改了位于项目属性/应用程序选项卡(输出类型:)中的下拉列表。原来选择的值是“类库”,但我更改为“Windows应用程序”并发现同样的错误。现在解决了。
在解决方案资源管理器中:右键单击项目-->选择属性-->选择应用程序选项卡-->选择输出类型作为类库并保存并构建它。
晚了,但对我来说,它是一个“控制台应用程序”项目类型,但文件属性中的“构建操作”被设置为“无”。改成“编译”就好了。
可能是您从项目中删除了程序文件。只需添加 Program.cs 文件即可解决您的问题