错误消息“CS5001 程序不包含适合入口点的静态“Main”方法”,具有多个类

wga*_*uss 4 c# compiler-errors

所以事情是这样的,我现在有 2 个类(计划添加多个),当我尝试从这两个类调用函数时,我收到此错误。相同的命名空间。我仔细检查并查看了属性选项卡,发现它已设置为可编译。

\n\n
using System;\n\nnamespace Game\n{\npublic class SecondSet\n{\n\n    public void SituationSecondOne()\n    {\n        Console.WriteLine(" ");\n        Console.WriteLine("Choices:");\n        Console.WriteLine("1: First");\n        Console.WriteLine("2: Second");\n        Console.WriteLine(" ");\n\n        int ChoiceOne = Convert.ToInt32(Console.ReadLine());\n\n        switch (ChoiceOne)\n        {\n            case (1):\n                Console.WriteLine("TEST2");\n                break;\n            case (2):\n                Console.WriteLine("TEST2");\n                break;\n            case (1337):\n                Console.WriteLine(" ");\n                Console.WriteLine("Thank you for playing");\n                Console.ReadLine();\n                Environment.Exit(1);\n                break;\n            default:\n                Console.WriteLine(" ");\n                Console.WriteLine("Now, let\'s try that again ... (\xc2\xac_\xc2\xac)");\n                SituationSecondOne();\n                break;\n        }\n    }\n }\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

现在,当我从第二个到第一个调用该函数时,我没有收到任何错误。为此我需要什么类型的 Main() 方法?(我还尝试添加原来的public void Main(string[] args),一旦添加,我就无法再将public添加到我想要调用第一个类的函数中)

\n\n

注意:我将其添加到第一类中

\n\n
SecondSet s2 = new SecondSet();\n
Run Code Online (Sandbox Code Playgroud)\n\n

正如上面发布的代码一样,它工作正常,但我收到提到的编译错误。请修复阀门:/

\n

小智 7

不清楚你的意思。但是\n我也在研究这个问题,就我而言,解决方案太简单了。我向解决方案添加了一个新的空项目。新添加的项目会自动设置为控制台应用程序。但由于添加的项目是一个“空”项目,因此该新项目中不存在 Program.cs。(如预期)

\n\n

我所需要做的就是将项目属性的输出类型更改为类库

\n\n

将项目 > 属性下的输出类型更改为 \xe2\x80\x9cClass Library\xe2\x80\x9d 的输出类型。默认情况下,此设置可能已设置为 \xe2\x80\x9cConsole Application\xe2\x80\x9d。

\n\n
   static void Main()\n   {\n   }\n
Run Code Online (Sandbox Code Playgroud)\n


Mik*_*eel 5

如果您将 Main 方法更改为异步方法,但忘记将 void 更改为 Task,您也可能会收到此错误。