错误:软件包X 3.0.0与netstandard2.1不兼容

时间:2019-11-19 16:45:00

标签: .net-core

将classlib项目升级到netstandard 2.1时遇到问题。

我有一个具有以下.csproj配置的classlib项目。该项目包含基于net core 3.0(以前为2.0)软件包的自定义功能。

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

  <PropertyGroup>
    <TargetFramework>netstandard2.1</TargetFramework>
  </PropertyGroup>

  <PropertyGroup>
    <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
    <CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
    <GenerateAssemblyConfigurationAttribute>false</GenerateAssemblyConfigurationAttribute>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="AutoMapper.Extensions.Microsoft.DependencyInjection" Version="7.0.0" />
    <PackageReference Include="MediatR.Extensions.Microsoft.DependencyInjection" Version="7.0.0" />
    <PackageReference Include="MediatR" Version="7.0.0" />
    <PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="3.0.0" />
  </ItemGroup>

</Project>

运行dotnet restore时,出现以下错误:

error: Package Microsoft.AspNetCore.Authentication.JwtBearer 3.0.0 is not compatible with netstandard2.1 (.NETStandard,Version=v2.1). Package Microsoft.AspNetCore.Authentication.JwtBearer 3.0.0 supports: netcoreapp3.0 (.NETCoreApp,Version=v3.0)

我尝试更改TargetFramework属性以同时支持netstandard2.1和netcoreapp3.0:<TargetFrameworks>netstandard2.1;netcoreapp3.0</TargetFrameworks>

但是,我仍然收到相同的错误。

我在这里想念什么?

2 个答案:

答案 0 :(得分:1)

当我尝试在VSCode中添加程序包“ microsoft.aspnetcore.authentication.jwtbearer 3.0.0”时,我遇到了类似的问题。它把我扔了 错误:软件包X 3.0.0与netcore版本不兼容。

我要做的唯一一件事就是将jwtbearer软件包版本降级到一个较低的版本-2.2.0 奏效了!

答案 1 :(得分:0)

我找到了解决方案。我必须只针对netcoreapp3.0,而不是netstandard2.1和netcoreapp3.0。