如何为 ASP.NET Core 的 Bug 报告创建最小复现项目(minimal repro)
如何为 ASP.NET Core 的 Bug 报告创建最小复现项目minimal repro【免费下载链接】aspnetcoreASP.NET Core is a cross-platform .NET framework for building modern cloud-based web applications on Windows, Mac, or Linux.项目地址: https://gitcode.com/GitHub_Trending/as/aspnetcore当你准备向 ASP.NET Core 报告一个 issue 时产品团队大概率会要求你提供一个「最小复现项目」minimal reproduction project下称 repro。本文按仓库文档 docs/repro.md 给出创建 repro 的完整操作路径从选模板、裁剪代码到发布为公开仓库以及提交前必须自查的安全红线最终得到一个团队能以最少工作量直接跑起来验证的问题项目。什么算最小复现项目文档给出的定义是repro 是一个能够以产品团队最少的工作量重现所报告行为的项目其中只包含演示该行为所必需的最少代码。团队要求 repro 有两个目的帮助你通过在新项目中重新创建该行为来验证自己的假设消除歧义、加快调查速度。在部分场景下团队甚至可能直接给出 workaround。这意味着 repro 不要求还原你的完整业务项目反而要求你主动裁剪到「行为还能复现」为止。两种提供方式文档列出两种提供 repro 的方式公开的网络托管 REPL 环境——文档称这是「第一种、更简单」的选项分别有面向 ASP.NET Core 和 Blazor 的两个环境具体地址见原文 docs/repro.md。适合能快速在新环境里敲出复现代码的简单场景。公开 GitHub 仓库中的项目——步骤更多但本文的主路径。下面的步骤全部来自该文档。主路径在公开仓库中创建 repro 项目按以下顺序操作每一步都是文档中明确的「make sure」要求提交前可逐项自查基于 ASP.NET Core 项目模板新建一个项目。如果该项目类型有Empty*模板请使用Empty*模板而不是功能齐全的完整版模板——这保证项目起点足够干净。只加入复现所报告行为所需的最少量代码。不要搬运原项目的相关模块只保留触发问题的代码。不要添加任何与该行为无关的依赖Please do not add any dependencies that are irrelevant to the behavior。将项目托管为 GitHub 上的公开public仓库。团队需要能直接访问并打开它。确认项目中不含任何二进制文件——通常就是项目里的bin和obj文件夹。文档特别强调这一步很重要团队无法打开 issue 里的 zip 附件而 zip 文件是团队会尽力规避的潜在攻击向量。所以 repro 只能走公开仓库不能以附件形式提交。安全与合规红线文档列出的三条约束优先级最高任何一条违反都可能导致 repro 不可用甚至引发安全事故绝不在复现项目中包含任何敏感信息sensitive information绝不在 repro 中包含任何不打算公开not intended to be public的代码不要引用任何外部服务或数据源。最后一条还有一层实际意义repro 必须自包含团队不依赖你的外部服务也能把行为跑出来否则「最少工作量」就无法成立。下一步把 repro 挂到 issue 上repro 准备好后按 CONTRIBUTING.md 的流程提交问题先检索是否已存在相同 issue如果存在用 upvote并补充评论说明你的独特场景与需求——upvote 和清晰的影响说明有助于团队优先处理重要问题如果找不到已有 issue在对应的仓库ASP.NET Core 本仓库 dotnet/aspnetcore新建 issue附上 repro 仓库链接注意例外安全相关的问题不走公开 issue文档要求通过邮件私下提交给 Microsoft Security Response CenterMSRC。提交前自检repro 就绪的判断标准对照文档逐条打勾即可用Empty*模板若该类型可用新建起点干净代码量已裁剪到「删掉任何一行行为就不复现」的最低限度没有任何与所报告行为无关的依赖仓库是公开的可直接访问项目里没有bin、obj等二进制内容不含敏感信息、不含不愿公开的内部代码、不引用任何外部服务或数据源。六项全部满足repro 就可以随 issue 报告一起提交等待团队验证与调查。【免费下载链接】aspnetcoreASP.NET Core is a cross-platform .NET framework for building modern cloud-based web applications on Windows, Mac, or Linux.项目地址: https://gitcode.com/GitHub_Trending/as/aspnetcore创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
上一篇/下一篇内容由系统自动关联
返回资讯列表 →