.net 框架引用asp.net core某些包提示已弃用,此包是旧版本且不再受到维护,因此已被弃用。如何处理!

发布时间 2023-08-14 11:07:15作者: 永恒一生

 我们看到一些特定功能的包只更新到了2.2.2版本

比如最常用的Microsoft.AspNetCore.Http这个类库,提示已弃用,我以为是换其他包了

最后我们在微软官网文档里找到了答案:

随着 .NET Core 3.0 发布,许多 ASP.NET Core 程序集不再作为包发布到 NuGet。 而是改为将这些程序集包含在通过 .NET Core SDK 和运行时安装程序安装的 Microsoft.AspNetCore.App 共享框架中。 若要查看不再发布的包列表,请参阅删除过时的包引用

自 .NET Core 3.0 起,使用 Microsoft.NET.Sdk.Web MSBuild SDK 的项目隐式引用此共享框架。 使用 Microsoft.NET.Sdk 或 Microsoft.NET.Sdk.Razor SDK 的项目必须引用 ASP.NET Core,才能使用共享框架中的 ASP.NET Core API。

若要引用 ASP.NET Core,请将以下 <FrameworkReference> 元素添加到项目文件:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>netcoreapp3.1</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <FrameworkReference Include="Microsoft.AspNetCore.App" />
  </ItemGroup>

</Project>

所以哪怕类库,也要加上

<FrameworkReference Include="Microsoft.AspNetCore.App" />
这样所有aspnetcore相关的都会引用上了。
以前是拆包,用啥引用啥,现在倒好,全部给你包含上了。俺也不知道微软到底干嘛,一天一个样。