C# Can';t访问.net标准中的httpcontext扩展方法

C# Can';t访问.net标准中的httpcontext扩展方法,c#,asp.net-core,.net-standard,asp.net-core-3.1,C#,Asp.net Core,.net Standard,Asp.net Core 3.1,我有一个.NET标准库,我想在其中编写一个.NET核心中间件 我想在里面做: Endpoint endpoint = httpContext.GetEndpoint(); 无法解析GetEndpoint()扩展方法 我已经引用了Microsoft.AspNetCore.Http,并且我已经将Microsoft.AspNetCore.Http.Abstractions和Microsoft.AspNetCore.Mvc.Core包添加到项目中 是否有解决方案,我是否遗漏了什么?我假设您正在为ASP

我有一个.NET标准库,我想在其中编写一个.NET核心中间件

我想在里面做:

Endpoint endpoint = httpContext.GetEndpoint();
无法解析
GetEndpoint()
扩展方法

我已经引用了
Microsoft.AspNetCore.Http
,并且我已经将
Microsoft.AspNetCore.Http.Abstractions
Microsoft.AspNetCore.Mvc.Core
包添加到项目中


是否有解决方案,我是否遗漏了什么?

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

要使用该扩展,您需要以
netcoreapp3.*
为目标,而不是
netstandard2.*

<TargetFramework>netcoreapp3.1</TargetFramework>
  • 或添加框架参考:
    <FrameworkReference Include="Microsoft.AspNetCore.App" />
    
    
    

  • 参考:

    尝试安装此nuget@neeleshbodgal不起作用。尝试添加此软件包以使其工作me@Md.Asaduzzaman:如问题所述,已添加。在.Net标准项目中,它对您有效吗?这就是我刚刚意识到的,这些扩展在.Net标准中不可用,我必须针对核心3.1完整答案,接受,向上投票。+1。当试图在类库中使用GetEnpoint时(与在webapi项目中使用它相反),这个答案也很有用。不幸的是,仅仅添加所示的Microsoft.AspNetCore.Http.abstraction是不够的。“随着.NET Core 3.0的发布,许多ASP.NET Core程序集不再作为包发布到NuGet。使用Microsoft.NET.Sdk或Microsoft.NET.Sdk.Razor Sdk的项目必须引用ASP.NET Core才能在共享框架中使用ASP.NET Core API。“引用Microsoft(),在.csproj文件中添加以下行
    <FrameworkReference Include="Microsoft.AspNetCore.App" />