首页 > 解决方案 > 无法访问 .net 标准中的 httpcontext 扩展方法

问题描述

我有这个 .NET Standard 库,我想在其中编写一个 .NET Core 中间件。

我想做的里面:

Endpoint endpoint = httpContext.GetEndpoint();

GetEndpoint()无法解析扩展方法。

我已经引用Microsoft.AspNetCore.Http了,并且我将这两个Microsoft.AspNetCore.Http.AbstractionsMicrosoft.AspNetCore.Mvc.Core包都添加到了项目中。

有没有解决方案,我错过了什么?

标签: c#asp.net-core.net-standardasp.net-core-3.1

解决方案


我假设您正在为 ASP.NET Core 3.1 编写中间件,因为您包含了“asp.net-core-3.1”标签。

要使用该扩展,您需要定位netcoreapp3.*而不是netstandard2.*

<TargetFramework>netcoreapp3.1</TargetFramework>

(您可以在文档页面的下拉菜单中查看该扩展适用于哪些 ASP.NET Core 版本)

您还需要:

  1. 使用Microsoft.NET.Sdk.WebMSBuild SDK:
    <Project Sdk="Microsoft.NET.Sdk.Web">
    
  2. 或添加框架参考:
    <FrameworkReference Include="Microsoft.AspNetCore.App" />
    

参考:在类库中使用 ASP.NET Core API


推荐阅读