我有一个问题,我的错误列表中出现了这个警告:
Severity Code Description Project File Line Suppression State
Warning CS7022 The entry point of the program Project DirectoryToProject 23 Active
is global code; ignoring
'Program.Main(string[])'
entry point.
这基本上就是它抛出的地方:
namespace MyProgram
{
class Program
{
static async Task Main(string[] args) => await new Program.MainAsync();
}
static async Task MainAsync()
{.. do stuff.. }
}
这就是引起错误的那行代码。我尝试过对主类进行调整,将其返回类型更改为 void,并在 MainAsync 方法上调用了 GetAwaiter 和 GetResult 方法。
我已经尝试过研究这个错误,但没有什么运气,希望这个问题能帮助其他人...
我目前正在运行 C# 9.0, Visual Studio 2019 Build 版本:16.8.30717.126
MainAsync 在文件中...我正在尝试限制显示的方法数量,因为其中 95% 对于问题来说都没有用... 但问题是,虽然我的应用程序编译通过,但执行程序时会立即退出,好像它不知道从哪里开始...
如果有人遇到类似的情况,请尝试 Hans Passant 所提到的方法:
“这是一个相当糟糕的 C# v9 功能。选择菜单 项目 → 属性 → 生成选项卡,高级按钮 → 语言版本=7.3。您现在应该能够获得一个合理的错误消息,以便您知道需要发表的代码。”
基本上,当我切换回C# 8.0时,我发现有一个不同的文件隐藏起来导致了问题。