aspnetcore.docs 上的 .NET 10+ 旧版 API 警告文档
现有的 ASP.NET Core 诊断警告文档位于此处,这似乎也是添加已过时 API 警告的一个很好的位置:
https://GitHub.com/dotnet/AspNetCore.Docs/tree/main/aspnetcore/diagnostics
现有的 ASP.NET Core 诊断警告文档使用了 3 个前缀(虽然有点晦涩):
它们分别是: asp, bl 和 mvc
示例:
https://GitHub.com/dotnet/AspNetCore.Docs/blob/main/aspnetcore/diagnostics/asp0028.md
https://GitHub.com/dotnet/AspNetCore.Docs/blob/main/aspnetcore/diagnostics/bl0001.md
https://GitHub.com/dotnet/AspNetCore.Docs/blob/main/aspnetcore/diagnostics/mvc1000.md
新的文档将使用警告 ID 作为文件名:
因此对于警告 ID:
ASPDEPR008.md
文件名将为以下内容,应为小写:
aspdepr008.md
TOC 将这些内容列为代码分析,但我们可能会考虑将其更改为 编译器诊断,以便将它们全部归入一个有意义的描述中。
现有内容:
对于 ASP.NET Core API 的已过时 API,目前并没有作为单独主题的文档。它们存在于破坏性更改文档中,以及在源代码上提交的破坏性更改问题中,但并未以单独主题的形式提供,这使得它们更难以访问,人们被直接引向了相应的警告以及如何处理该警告,而不是一个包含可能多个已过时 API 的大型破坏性更改文档。 针对此问题,请在当前的 .NET 10 分支的 ASP.NET Core 中为已过时 API 定义自定义的过时 ID 警告,并使用它们,然后我就完成了。 此过程将(如 gewarren 所验证的那样)如下所示:
如何在 .NET 10 分支的 ASP.NET Core 中找到需要文档的已过时 API
A. 在 10.0 分支中的所有 *.unshipped.txt 文件中搜索字符串 "REMOVED"。
或者
B. 在源代码中搜索 使用 ObsoleteAttribute 以获取需要文档的所有内容的列表,然后将其与迄今为止已文档的内容进行比较(已文档的内容最多为 .NET 9,在 donet docs repo 中),或者与添加该属性的时间进行交叉检查。
示例:
[Obsolete("IWebHost is obsolete. Use IHost instead. For more information, visit https://aka.ms/aspnet/deprecate/008.", DiagnosticId = "ASPDEPR008", UrlFormat = Obsoletions.AspNetCoreDeprecate008Url)]
在 .NET 10 分支的 ASP.NET Core 源代码中找到过时 ID 之后
- 确定哪些已过时 API 共享该 ID,并为一个 ID 创建一个文章,该文章涵盖所有与已过时 API 相关的内容。
- 该文章中的内容可以从产品团队创建的一个破坏性更改问题(如果有)中推导出来,该问题通常包括诸如替代 API 或工作绕过等信息。 -- 此外 …
内容来源: dotnet/AspNetCore.Docs