Can't access httpcontext extension methods in .net standard

Viewed 3220

I have this .NET Standard library where I want to write a .NET Core middleware.

Inside which I want to do :

Endpoint endpoint = httpContext.GetEndpoint();

The GetEndpoint() extension method can't be resolved.

I have referenced Microsoft.AspNetCore.Http and I have both Microsoft.AspNetCore.Http.Abstractions and Microsoft.AspNetCore.Mvc.Core packages added to the project.

Is there a solution to this, am I missing something?

1 Answers

I assume you're writing a middleware for ASP.NET Core 3.1 since you included the "asp.net-core-3.1" tag.

To use that extension, you need to target netcoreapp3.* instead of netstandard2.*:

<TargetFramework>netcoreapp3.1</TargetFramework>

(You can see which ASP.NET Core versions that extension is available for in the dropdown menu on the documentation page)

You will also need to either:

  1. use the Microsoft.NET.Sdk.Web MSBuild SDK:
    <Project Sdk="Microsoft.NET.Sdk.Web">
    
  2. or add the framework reference:
    <FrameworkReference Include="Microsoft.AspNetCore.App" />
    

Reference: Use ASP.NET Core APIs in a class library

Related