ASP.NET Core 應用程式中的診斷程式碼分析

.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 不要將 ConfigureWebHostWebApplicationBuilder.Host 一起使用
ASP0009 不要用ConfigureWebApplicationBuilder.WebHost
ASP0010 不要將UseStartupWebApplicationBuilder.WebHost一起使用
ASP0011 建議使用 builder.Logging over Host.ConfigureLoggingWebHost.ConfigureLogging
ASP0012 建議使用 builder.Services over Host.ConfigureServicesWebHost.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