You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET代码分析器未检测到异步API错误用法,求推荐可用分析器

能检测此类异步API错误用法的.NET代码分析器

你的代码中,创建Task.Delay实例后未等待就直接检查IsCompleted,这种错误确实无法被CS4014或VSTHRD110检测到——前者仅在直接丢弃异步方法返回的Task(未赋值给变量)时触发,后者侧重检测async方法内未等待的Task,而你的方法是普通void方法且持有了Task变量,因此避开了现有规则。

以下是可以检测此类场景的分析器:

  • SonarAnalyzer for .NET:规则S1699会标记所有被赋值但未被await、返回、或通过Wait()/Result同步等待的Task,完全覆盖你代码中的场景。
  • Roslynator:规则RCS1090("Call 'await' on task")会检测到持有Task变量但未执行等待操作的情况,触发警告提示你需要等待Task完成。
  • StyleCop Analyzers:部分扩展规则也能覆盖类似未正确处理Task的场景,但需要确认启用对应规则集。

这些分析器都可以通过NuGet包安装到项目中,配置对应的规则严重性后,就能在编译或IDE实时分析时捕获这类错误。

内容的提问来源于stack exchange,提问作者stefan.seeland

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 03:32:02