如何在 class 库项目中使用 AspNetCore 3.0 features/components

How to use AspNetCore 3.0 features/components in a class library project

我们有一些 class 库为我们的内部软件提供通用功能。其中一些引用了 AspNetCore 库。例如,我们参考了 Microsoft.AspNetCore.Authorization v2.x.x 以在 IServiceCollection.

上使用 AddAuthorization 扩展方法

现在我们正在将我们的项目迁移到 dotnet core 3.0,我们发现其中许多类型已更改或不再存在。这会导致 运行 使用我们的包时出现异常。最初我们认为我们只需要将各种 NuGet 包升级到它们的 3.x.x 变体......但这些不存在!?!

我们 运行 在 IFilter 和其他 MVC interfaces/classes 的实现中遇到了同样的问题。

我们现在应该如何在 class 库中使用这些类型?

Core 3 中的大部分包都移到了框架中,所以引用框架可能会解决你的问题:

  <ItemGroup Condition="'$(TargetFramework)' == 'netcoreapp3.0'">
    <FrameworkReference Include="Microsoft.AspNetCore.App" Version="3.0.0" />
  </ItemGroup>