.NET7项目中Microsoft.AspNetCore.App/Mvc弃用后的替代方案咨询
核心认知纠正
.NET Core 3.0及后续版本中,Microsoft.AspNetCore.App是框架共享包,它随.NET SDK/runtime一同分发,无需手动通过NuGet安装或更新。NuGet上显示的"弃用"标记,是因为官方不再单独发布该包到NuGet源,转而集成到SDK中维护。
具体解决方案
移除手动添加的
Microsoft.AspNetCore.App包引用
打开项目的.csproj文件,删除类似<PackageReference Include="Microsoft.AspNetCore.App" Version="x.x.x" />的配置行。.NET 7会自动关联框架内置的ASP.NET Core组件,无需手动声明。修复漏洞的正确方式
不要尝试通过NuGet更新Microsoft.AspNetCore.App,直接将.NET 7 SDK/runtime升级到最新补丁版本即可。Microsoft的安全修复会同步推送到.NET SDK/runtime更新中,所有共享组件的漏洞修复都包含在内。
可通过命令行dotnet --list-sdks查看当前版本,下载安装对应.NET 7的最新补丁版SDK完成更新。关于
Microsoft.AspNetCore.App.Ref安装失败Microsoft.AspNetCore.App.Ref是专为框架开发场景设计的引用程序集包,普通ASP.NET应用完全不需要它。安装失败是因为其目标框架与你的项目不匹配,无需纠结该包。按需引用特定组件
若仅需ASP.NET Core的部分功能,可单独引用对应组件的NuGet包,这类包持续维护且无弃用问题,例如:Microsoft.AspNetCore.Mvc.Core(Mvc核心功能)Microsoft.AspNetCore.Routing(路由组件)Microsoft.AspNetCore.Authentication.JwtBearer(JWT身份验证组件)
内容的提问来源于stack exchange,提问作者RPeter7

