You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET 7 API控制器版本控制:选Microsoft.AspNetCore.Mvc.Versioning还是Asp.Versioning.Http?

.NET 7 API控制器版本控制包选择指南

直接结论:Asp.Versioning.Http(7.0.0版本)是你.NET 7项目的最优选择,具体原因如下:

  • 旧包Microsoft.AspNetCore.Mvc.Versioning(5.1.0版本)是ASP.NET Core早期版本(如.NET 5及之前)的遗留版本控制包,目前已被官方弃用,不再作为主流推荐方案。
  • Asp.Versioning.Http是.NET 6+(含.NET 7)官方主推的API版本控制核心包,命名空间调整为Asp.Versioning系列是为了统一跨.NET平台的版本控制方案——文档提到支持ASP.NET是因为它也能兼容传统.NET Framework项目(通过适配逻辑),但这完全不影响它作为现代.NET(.NET 5+)项目的首选,它对.NET 7的适配是原生且完善的。

如果你的项目是基于MVC控制器的API,还可以额外安装Asp.Versioning.Mvc包,它是Asp.Versioning.Http的扩展,提供更贴合MVC场景的版本控制功能(比如路由版本约束、控制器属性版本标记等)。

简单配置示例(Program.cs):

builder.Services.AddApiVersioning(options =>
{
    // 响应头返回支持的API版本
    options.ReportApiVersions = true;
    // 未指定版本时使用默认版本
    options.AssumeDefaultVersionWhenUnspecified = true;
    options.DefaultApiVersion = new ApiVersion(1, 0);
});

内容的提问来源于stack exchange,提问作者KeldibekovZh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 15:37:36