FrameworkReference包含哪些包?添加后能否使用全部Microsoft.Extensions.*包?
关于ASP.NET Core FrameworkReference的Microsoft.Extensions.*包范围问题
在C#项目文件中添加以下配置,可让类库引用ASP.NET Core共享框架:
<ItemGroup> <FrameworkReference Include="Microsoft.AspNetCore.App" /> </ItemGroup>
该配置支持类库使用:
- 所有
Microsoft.AspNetCore.*程序集(例如Microsoft.AspNetCore.Http、Microsoft.AspNetCore.Mvc) - 部分
Microsoft.Extensions.*程序集(例如Microsoft.Extensions.Logging.Abstractions、Microsoft.Extensions.Options.DataAnnotations)
问题解答
能否使用所有Microsoft.Extensions.*包?
不能。Microsoft.AspNetCore.App共享框架仅集成了与ASP.NET Core运行时深度绑定的Microsoft.Extensions.*组件,并非该命名空间下的全部包。
如何查看包含的包范围?
有两种可靠方式确认具体范围:
- 本地共享框架目录查询:
在安装了.NET SDK的机器上,导航至路径C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\[目标版本号],目录内的所有Microsoft.Extensions.*.dll文件即为当前版本框架包含的组件。 - 官方清单文件查阅:
每个.NET版本的Microsoft.AspNetCore.App都有对应的清单定义,可在.NET SDK安装目录中找到,或查看对应版本的.NET源代码仓库中的Microsoft.AspNetCore.App.csproj文件,其中会明确列出所有纳入共享框架的程序集和包。
内容的提问来源于stack exchange,提问作者pschill
相关产品推荐
相关产品推荐

