.NET 編譯器平台分析器會檢查應用程式程式碼是否有程式碼品質和樣式問題。
本文提供 ASP.NET Core 特定診斷訊息的連結。 欲了解更多 .NET 診斷資訊,請參閱 .NET 原始碼分析概述。
診斷代碼
下表列出可用於 ASP.NET Core 應用程式的診斷工具。
備註
並非所有診斷功能都包含在舊版本的 ASP.NET Core。
| 診斷識別碼 | Message |
|---|---|
| ASP0000 | 不要在ConfigureServices中呼叫IServiceCollection.BuildServiceProvider |
| ASP0001 | 授權中介軟體設定錯誤 |
| ASP0003 | 不要在路由處理程式中使用模型綁定屬性 |
| ASP0004 | 不要使用操作結果與路由處理器搭配使用 |
| ASP0005 | 不要在路由處理 lambda 呼叫的方法上放置屬性 |
| ASP0006 | 不要使用非字面序列號 |
| ASP0007 | 路由參數與參數的可選性不匹配 |
| ASP0008 | 不要將 ConfigureWebHost 和 WebApplicationBuilder.Host 一起使用 |
| ASP0009 | 不要用Configure與WebApplicationBuilder.WebHost |
| ASP0010 | 不要將UseStartup與WebApplicationBuilder.WebHost一起使用 |
| ASP0011 | 建議使用 builder.Logging over Host.ConfigureLogging 或 WebHost.ConfigureLogging |
| ASP0012 | 建議使用 builder.Services over Host.ConfigureServices 或 WebHost.ConfigureServices |
| ASP0013 | 建議從使用 Configure 方法轉換成 WebApplicationBuilder.Configuration |
| ASP0014 | 建議使用頂層路由註冊 |
| ASP0015 | 建議使用 IHeaderDictionary 屬性 |
| ASP0016 | 不要從 RequestDelegate 回傳值 |
| ASP0017 | 無效路由模式 |
| ASP0018 | 未使用的路由參數 |
| ASP0019 | 建議使用 IHeaderDictionary.Append 或索引器 |
| ASP0020 | 路由參數所參考的複雜類型必須是可剖析的 |
| ASP0021 | 方法的 BindAsync 回傳類型必須為 ValueTask<T> |
| ASP0022 | 在路由處理程序間偵測到路由衝突(最小 API 應用程式) |
| ASP0023 | 路由處理常式之間偵測到路由衝突 |
| ASP0024 | 路由處理器具有多個帶有 [FromBody] 屬性的參數 |
| ASP0025 | 使用 AddAuthorizationBuilder 註冊授權服務並建立策略 |
| ASP0026 |
[Authorize]被[AllowAnonymous]從「更遠的地方」覆蓋 |
| ASP0027 | 不必要的 public Program 類別宣告 |
| ASP0028 | 考慮用 IPAddress.IPv6Any 代替 IPAddress.Any |
| BL0001 | 元件參數應該有公開設定器 |
| BL0002 | 元件有多個 CaptureUnmatchedValues 參數 |
| BL0003 | 元件參數 的 CaptureUnmatchedValues 類型錯誤 |
| BL0004 | 元件參數應該是公開的 |
| BL0005 | 元件參數不應該設定在其元件之外 |
| BL0006 | 不要使用 RenderTree 類型 |
| BL0007 | 元件參數 {0} 應該是自動屬性 |
| BL0008 | 元件參數應該是自動屬性 |
| MVC1000 | 應避免使用IHtmlHelper.Partial |
| MVC1001 | 過濾器無法套用到頁面處理方法上 |
| MVC1002 | 路由屬性無法套用到頁面處理方法上 |
| MVC1003 | 路由屬性無法套用到頁面模型 |
| MVC1004 | 重新命名模型綁定參數 |
| MVC1005 | 無法與終端路由一起使用UseMvc |
| MVC1006 | 包含標籤輔助器(TagHelpers)的方法必須是非同步方法,且必須回傳 Task |