无法访问 .net 标准中的 httpcontext 扩展方法
Can't access httpcontext extension methods in .net standard
我有这个 .NET Standard 库,我想在其中编写 .NET Core 中间件。
里面我想做的事情:
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>
(您可以在 documentation 页面的下拉菜单中查看扩展适用于哪些 ASP.NET 核心版本)
您还需要:
- 使用
Microsoft.NET.Sdk.Web
MSBuild SDK:
<Project Sdk="Microsoft.NET.Sdk.Web">
- 或添加框架参考:
<FrameworkReference Include="Microsoft.AspNetCore.App" />
我有这个 .NET Standard 库,我想在其中编写 .NET Core 中间件。
里面我想做的事情:
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>
(您可以在 documentation 页面的下拉菜单中查看扩展适用于哪些 ASP.NET 核心版本)
您还需要:
- 使用
Microsoft.NET.Sdk.Web
MSBuild SDK:<Project Sdk="Microsoft.NET.Sdk.Web">
- 或添加框架参考:
<FrameworkReference Include="Microsoft.AspNetCore.App" />