ConfigureWebHostDefaults 中的 UseSerilog 未知引用

UseSerilog unknown reference in ConfigureWebHostDefaults

我遵循了一些教程,但我坚持使用 serilog 构建默认的 dotnet 3.1 在 program.cs 这条线不会建立 这是代码 https://github.com/guymalka/serilog-dotnetcore/blob/master/Program.cs 我需要在这里添加什么参考?

首先在您的 .csproj 文件中包含 nuget 包引用:

<PackageReference Include="Serilog.AspNetCore" Version="3.4.0" />

dotnet restore你的项目。
之后在你的 Program.cs 文件中导入 Serilog 命名空间(你也可以在 Startup 中这样做):

using Serilog;

这应该足以让您像这样注册 Serilog:

public static IHostBuilder CreateHostBuilder(string[] args) =>
  Host.CreateDefaultBuilder(args)
    .UseSerilog()
    .ConfigureWebHostDefaults(webBuilder =>
    {
      webBuilder.UseStartup<Startup>();
    });

请注意,如果您希望使用 Serilog 配置其他方面,例如您的接收器,您可能必须包含单独的包:

<PackageReference Include="Serilog.Sinks.Console" Version="3.1.1" />