MVC1006:包含 TagHelpers 的方法必须是异步方法并返回 Task

规则 ID MVC1006
修复是中断修复还是非中断修复 重大

原因

在同步执行的 Razor 函数中定义了一个标记帮助程序

规则说明

标记帮助程序执行是异步操作。 在 Razor 页面内的方法或 Lambda 中使用它时,包含的函数也必须声明为异步函数。

考虑以下 cshtml 文件:

void Helper(string controller)
{
    <a asp-controller="@controller">Home</a>
}

asp-controller 是一个标记帮助程序,将触发此规则。

如何解决冲突

将函数声明为异步函数并返回 Task:

async Task Helper(string controller)
{
    <a asp-controller="@controller">Home</a>
}

何时禁止显示警告

不禁止显示此规则发出的警告。