这很重要,目前我有2个类(计划添加多个类),当我尝试从这两个类中调用函数时出现此错误。相同的名称空间。我仔细检查了一下,然后查看“属性”标签,看它是否已设置为可编译。
using System;
namespace Game
{
public class SecondSet
{
public void SituationSecondOne()
{
Console.WriteLine(" ");
Console.WriteLine("Choices:");
Console.WriteLine("1: First");
Console.WriteLine("2: Second");
Console.WriteLine(" ");
int ChoiceOne = Convert.ToInt32(Console.ReadLine());
switch (ChoiceOne)
{
case (1):
Console.WriteLine("TEST2");
break;
case (2):
Console.WriteLine("TEST2");
break;
case (1337):
Console.WriteLine(" ");
Console.WriteLine("Thank you for playing");
Console.ReadLine();
Environment.Exit(1);
break;
default:
Console.WriteLine(" ");
Console.WriteLine("Now, let's try that again ... (¬_¬)");
SituationSecondOne();
break;
}
}
}
}
现在,当我从第二个调用第一个函数时,没有任何错误。我需要哪种类型的Main()方法? (我还尝试添加原始的 public void Main(string [] args),添加后,我无法再将 public 添加到要调用的函数中了)头等舱
注意:我将此添加到第一堂课
SecondSet s2 = new SecondSet();
并且上面的代码很好用,但是我遇到了编译错误。阀门请修复:/
答案 0 :(得分:1)
当您将Main方法更改为异步方法而忘记将void更改为Task时,也会收到此错误。
答案 1 :(得分:1)
在 VS2017 中运行我的代码时发生了这种情况。 在 VS2019 中打开修复了错误。
async Task Main() 入口点需要 C# 7.1 或更高版本,因此您可能没有安装所需的版本。
答案 2 :(得分:0)
可能是您的程序不包含Main,它是控制台应用程序的入口点,所以请替换为this
class Hello
{
public void SituationSecondOne()
{
Console.WriteLine(" ");
Console.WriteLine("Choices:");
Console.WriteLine("1: First");
Console.WriteLine("2: Second");
Console.WriteLine(" ");
int ChoiceOne = Convert.ToInt32(Console.ReadLine());
switch (ChoiceOne)
{
case (1):
Console.WriteLine("TEST2");
break;
case (2):
Console.WriteLine("TEST2");
break;
case (1337):
Console.WriteLine(" ");
Console.WriteLine("Thank you for playing");
Console.ReadLine();
Environment.Exit(1);
break;
default:
Console.WriteLine(" ");
Console.WriteLine("Now, let's try that again ... (¬_¬)");
SituationSecondOne();
break;
}
}
static void Main()
{
SecondSet s2 = new SecondSet();
Console.ReadKey();
}
}
答案 3 :(得分:0)
您的意思不清楚,但是 我也在研究这个问题,在我看来,解决方案太简单了。我向解决方案添加了一个新的空项目。新添加的项目将自动设置为控制台应用程序。但是由于添加的项目是一个“空”项目,因此该新项目中不存在Program.cs。 (如预期)
我要做的就是将项目属性的输出类型更改为“类库”
将“项目”>“属性”下的“输出类型”更改为“类库”的类型。默认情况下,此设置可能已设置为“控制台应用程序”。
static void Main()
{
}
答案 4 :(得分:0)
请按照这种方式操作,并解决您的错误。
public class Program{
static async Task Main()
{ }
}
答案 5 :(得分:0)
对我来说,我设置的启动项目具有输出类型(控制台应用程序) 无论如何,这是一个错误的项目,所以我将顶层设置为启动项目。
还将其他层更改为输出类型(类库)