Nguon: Microsoft Learn · .NET 8.0

ASP0010: Không sử dụng UseStartup với WebApplicationBuilder.WebHost

Nguồn: ASP0010: Do not use UseStartup with WebApplicationBuilder.WebHost

-Giá trị
Rule ID (Mã quy tắc)ASP0010
Category (Danh mục)Usage (Sử dụng)
Fix is breaking or non-breaking (Sửa có gây breaking change không)Non-breaking (Không gây breaking change)

Nguyên nhân

UseStartup không thể được sử dụng với WebApplicationBuilder.WebHost.

Mô tả quy tắc

WebApplicationBuilder không hỗ trợ cấu hình thông qua lớp Startup (lớp khởi động).

csharp
var builder = WebApplication.CreateBuilder(args);

builder.WebHost.UseStartup<Startup>();

var app = builder.Build();

app.Run();

Cách khắc phục vi phạm

Để khắc phục vi phạm quy tắc này, hãy sử dụng thuộc tính Configuration (cấu hình) và Services (dịch vụ) trên WebApplicationBuilder để chỉnh sửa cấu hình và DI (Dependency Injection - tiêm phụ thuộc) trực tiếp, không cần lớp startup:

csharp
var builder = WebApplication.CreateBuilder(args);

builder.Services.AddAuthentication();

var app = builder.Build();

app.Run();

Khi nào nên bỏ qua cảnh báo

Không nên bỏ qua cảnh báo từ quy tắc này. Ứng dụng được cấu hình sai có thể dẫn đến hành vi không mong muốn khi chạy.