.net ';IServiceCollection';不包含';添加版本控制';在webapi vs代码项目中使用dot net 5

.net ';IServiceCollection';不包含';添加版本控制';在webapi vs代码项目中使用dot net 5,.net,.net-core,asp.net-core-webapi,aspnet-api-versioning,.net,.net Core,Asp.net Core Webapi,Aspnet Api Versioning,我正在尝试将版本控制(Microsoft.AspNet.WebApi.versioning)与dotnet 5一起用于WebApi项目。我已添加nuget包,但出现以下错误: “IServiceCollection”不包含“AddaVersioning”的定义,并且找不到接受“IServiceCollection”类型的第一个参数的可访问扩展方法“AddaVersioning”(是否缺少using指令或程序集引用? 在这一行: services.AddApiVersioning(); 在我的S

我正在尝试将版本控制(Microsoft.AspNet.WebApi.versioning)与dotnet 5一起用于WebApi项目。我已添加nuget包,但出现以下错误:

“IServiceCollection”不包含“AddaVersioning”的定义,并且找不到接受“IServiceCollection”类型的第一个参数的可访问扩展方法“AddaVersioning”(是否缺少using指令或程序集引用?

在这一行:

services.AddApiVersioning();
在我的Startup.cs中

我的.csproj文件如下所示:

<Project Sdk="Microsoft.NET.Sdk.Web">
  <PropertyGroup>
    <TargetFramework>net5.0</TargetFramework>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="Microsoft.Identity.Web" Version="1.0.0"/>
    <PackageReference Include="Microsoft.Identity.Web.UI" Version="1.0.0"/>
    <PackageReference Include="Swashbuckle.AspNetCore" Version="5.6.3"/>
    <PackageReference Include="Microsoft.Data.SqlClient" Version="2.0.1"/>
    <PackageReference Include="Dapper" Version="2.0.35"/>
    <PackageReference Include="Azure.Storage.Blobs" Version="12.4.1"/>
    <PackageReference Include="Microsoft.AspNet.WebApi.Versioning" Version="4.1.1"/>
  </ItemGroup>
</Project>
有人面临同样的挑战吗?.net 5中是否支持版本控制?

您使用的是ASP.net Web API的API版本控制包,.net framework的经典Web API框架

您使用的是ASP.NET Core,因此需要使用该软件包。此软件包也是您链接的教程中提到的软件包


但是,很容易混淆这些软件包,因为它们都来自,这也会产生一些用于特殊用例的附加软件包。

试试这个软件包。:)Microsoft.AspNetCore.Mvc.version这似乎有效,谢谢,但我收到一个“找不到类型或命名空间名称“ApiVersion”(是否缺少using指令或程序集引用?)“new ApiVersion(1,0)”错误。有什么想法吗?@lcj
ApiVersion
类型位于
Microsoft.AspNetCore.Mvc
命名空间中,因此您需要在顶部使用
。还可以尝试使用
Ctrl+。
调用IntelliSense来帮助您解决此问题。非常好!非常感谢。
using Microsoft.AspNetCore.Mvc;