“IApplicationBuilder”不包含“HttpContext”的定义

Jos*_*hee 4 c# asp.net-core-mvc asp.net-core asp.net-core-2.2

我正在尝试使用Microsoft 文档中的此示例代码在我的 ASP.NET Core 2.2 MVC 应用程序的中间件中配置某些 HTTP 响应状态代码的处理:

app.UseStatusCodePages(async context =>
{
    context.HttpContext.Response.ContentType = "text/plain";

    await context.HttpContext.Response.WriteAsync(
        "Status code page, status code: " + 
        context.HttpContext.Response.StatusCode);
});
Run Code Online (Sandbox Code Playgroud)

但它显示一个错误HttpContext

“IApplicationBuilder”不包含“HttpContext”的定义,并且找不到接受“IApplicationBuilder”类型的第一个参数的可访问扩展方法“HttpContext”(您是否缺少 using 指令或程序集引用?)

我看到它contextMicrosoft.AspNetCore.Diagnostics.StatusCodeContext类型,它具有HttpContext 属性为什么它不识别 HttpContext?

PS我尝试安装这些NuGet包无济于事:

Microsoft.AspNetCore.Diagnostics
Microsoft.AspNetCore.Diagnostics.Abstractions
Microsoft.AspNetCore.Http
Microsoft.AspNetCore.Http.Abstractions
Microsoft.AspNetCore.Http.Extensions
Microsoft.AspNetCore.Http.Features
Run Code Online (Sandbox Code Playgroud)

Jos*_*hee 5

发现了这个问题……有点奇怪:当我在它的第一个实例上检查 Intellisense 时,HttpContext它没有提供任何关于using语句的建议,但是当我在任何其他实例上执行它时,它建议添加对 的引用Microsoft.AspNetCore.Http,从而修复它。

我不知道为什么当我检查第一个HttpContext.