Nguon: Microsoft Learn · .NET 8.0
Phân tích code chẩn đoán trong ứng dụng ASP.NET Core
Các trình phân tích nền tảng trình biên dịch .NET (analyzers) kiểm tra code ứng dụng để tìm vấn đề về chất lượng và phong cách code.
Bài viết này cung cấp liên kết đến các thông báo chẩn đoán cụ thể cho ASP.NET Core. Để biết thêm thông tin về chẩn đoán .NET, xem Tổng quan về phân tích mã nguồn .NET.
Mã chẩn đoán
Bảng sau liệt kê các chẩn đoán có sẵn cho ứng dụng ASP.NET Core.
Lưu ý: Không phải tất cả chẩn đoán đều có sẵn trong các phiên bản cũ hơn của ASP.NET Core.
| ID chẩn đoán | Thông báo |
|---|---|
| ASP0000 | Không gọi IServiceCollection.BuildServiceProvider trong ConfigureServices |
| ASP0001 | Authorization middleware (phần mềm trung gian ủy quyền) được cấu hình không đúng |
| ASP0003 | Không sử dụng thuộc tính model binding với route handlers |
| ASP0004 | Không sử dụng action results với route handlers |
| ASP0005 | Không đặt thuộc tính trên phương thức được gọi bởi lambda route handler |
| ASP0006 | Không sử dụng sequence numbers không phải là literal |
| ASP0007 | Tính tùy chọn của tham số route và argument không khớp |
| ASP0008 | Không sử dụng ConfigureWebHost với WebApplicationBuilder.Host |
| ASP0009 | Không sử dụng Configure với WebApplicationBuilder.WebHost |
| ASP0010 | Không sử dụng UseStartup với WebApplicationBuilder.WebHost |
| ASP0011 | Đề xuất sử dụng builder.Logging thay vì Host.ConfigureLogging hoặc WebHost.ConfigureLogging |
| ASP0012 | Đề xuất sử dụng builder.Services thay vì Host.ConfigureServices hoặc WebHost.ConfigureServices |
| ASP0013 | Đề xuất chuyển từ sử dụng các phương thức Configure sang WebApplicationBuilder.Configuration |
| ASP0014 | Đề xuất sử dụng đăng ký route cấp cao nhất |
| ASP0015 | Đề xuất sử dụng các thuộc tính IHeaderDictionary |
| ASP0016 | Không trả về giá trị từ RequestDelegate |
| ASP0017 | Route pattern (mẫu route) không hợp lệ |
| ASP0018 | Tham số route không được sử dụng |
| ASP0019 | Đề xuất sử dụng IHeaderDictionary.Append hoặc indexer |
| ASP0020 | Các kiểu phức tạp được tham chiếu bởi tham số route phải có thể phân tích được |
| ASP0021 | Kiểu trả về của phương thức BindAsync phải là ValueTask<T> |
| ASP0022 | Phát hiện xung đột route giữa các route handlers (Minimal API apps) |
| ASP0023 | Phát hiện xung đột route giữa các route handlers |
| ASP0024 | Route handler có nhiều tham số với thuộc tính [FromBody] |
| ASP0025 | Sử dụng AddAuthorizationBuilder để đăng ký dịch vụ authorization và xây dựng policies |
| ASP0026 | [Authorize] bị ghi đè bởi [AllowAnonymous] từ "xa hơn" |
| ASP0027 | Khai báo class public Program không cần thiết |
| ASP0028 | Xem xét sử dụng IPAddress.IPv6Any thay vì IPAddress.Any |
| BL0001 | Tham số component phải có public setters |
| BL0002 | Component có nhiều tham số CaptureUnmatchedValues |
| BL0003 | Tham số component với CaptureUnmatchedValues có kiểu sai |
| BL0004 | Tham số component phải là public |
| BL0005 | Tham số component không nên được đặt bên ngoài component của nó |
| BL0006 | Không sử dụng các kiểu RenderTree |
| BL0007 | Tham số component {0} phải là auto property |
| BL0008 | Các tham số component phải là auto properties |
| MVC1000 | Nên tránh sử dụng IHtmlHelper.Partial |
| MVC1001 | Không thể áp dụng Filters cho các phương thức page handler |
| MVC1002 | Không thể áp dụng thuộc tính Route cho các phương thức page handler |
| MVC1003 | Không thể áp dụng thuộc tính Route cho page models |
| MVC1004 | Đổi tên tham số được model bound |
| MVC1005 | Không thể sử dụng UseMvc với Endpoint Routing |
| MVC1006 | Các phương thức chứa Tag Helpers phải là async và trả về Task |