c# - 无法访问 .net 标准中的 httpcontext 扩展方法
问题描述
我有这个 .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>
(您可以在文档页面的下拉菜单中查看该扩展适用于哪些 ASP.NET Core 版本)
您还需要:
- 使用
Microsoft.NET.Sdk.Web
MSBuild SDK:<Project Sdk="Microsoft.NET.Sdk.Web">
- 或添加框架参考:
<FrameworkReference Include="Microsoft.AspNetCore.App" />
推荐阅读
- ansible - 使用`with_items`遍历包含空元素的列表时如何保留空项目
- javascript - 在返回 NULL 而不是 JSON 对象的 javascript 中使用 AJAX 获取 JSON
- java - 如何使用 MapStruct 将实体和实体列表映射到具有嵌套列表的单个 DTO?
- jquery - JQuery 或 javascript 在移动视图或移动设备上不起作用
- javascript - 合并两个 JSON 对象数组的 JSON 属性(使用 ramda)
- swift - 如何在 UITableViewController 中包含状态栏空间
- visual-studio-2015 - VS2015:win_bison 的路径不正确,但它在哪里设置?
- javascript - 在什么情况下你会选择使用 Map 而不是普通数组?
- python - 在 Python 中快速旋转点列表
- r - 将栅格(GeoTiff)转换为小数点后没有数字的 ascii