在使用 "Host.CreateDefaultBuilder(args).Build();" 的控制台应用程序中,我应该将 Main 方法放在哪里?

Where do i put Main method in a console app that uses the "Host.CreateDefaultBuilder(args).Build();"?

我正在按照本指南创建一个控制台应用程序:https://docs.microsoft.com/en-us/dotnet/core/extensions/configuration

我现有的结构:

namespace MyNameSpace
{
    public class Program
    {
        public static async Task Main(string[] args)
        {
            //application logic......
        }
     }
}

您不需要创建显式 Main 方法。 C# top-level statements 表示教程中的三行代码:

using Microsoft.Extensions.Hosting;
using IHost host = Host.CreateDefaultBuilder(args).Build();
await host.RunAsync();

...已经形成了一个有效的程序。大致相当于:

using Microsoft.Extensions.Hosting;

class Program
{
    static async Task Main(string[] args)
    {
        using IHost host = Host.CreateDefaultBuilder(args).Build();
        await host.RunAsync();
    }
}

我鼓励您使用现有的 top-level 语句方法,除非您 需要 更复杂的初始化代码...虽然您 如果需要,可以 显式编写class 和Main 方法声明。

同一教程中后面的示例显示了大量的应用程序启动代码,仍然使用 top-level 语句。或者您可以创建一个新的 ASP.NET 核心应用程序,它将显示更多内容。