找不到 IEndpointRouteBuilder 接口

PPa*_*ann 4 asp.net routes core

我有

NuGet Microsoft.AspNetCore.Http.Abstractions
NuGet Microsoft.AspNetCore.Routing
Run Code Online (Sandbox Code Playgroud)

并使用命名空间

using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Routing;
Run Code Online (Sandbox Code Playgroud)

我想构建这样的东西,但它似乎不知道 IEndpointConventionBuilder 也不知道 IEndpointRouteBuilder 并且拒绝编译。

public static class EndpointRouteBuilderExtensions
{
    public static IEndpointConventionBuilder MapServiceEndpoints(this IEndpointRouteBuilder endpoints)
    {

       //some code
    }
}
Run Code Online (Sandbox Code Playgroud)

我错过了什么......?

Nei*_*rao 10

如果要创建 ASP.NET Core 库,则需要FrameworkReference在项目文件中包含 ,如下所示:

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

  <PropertyGroup>
    <TargetFramework>netcoreapp3.0</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <FrameworkReference Include="Microsoft.AspNetCore.App" />
  </ItemGroup>

</Project>
Run Code Online (Sandbox Code Playgroud)


PPa*_*ann -1

因此,在查看 .net 框架之后,我找到了解决方法并访问构建器中的后备存储

var endpointDataSource = app.ApplicationServices.GetService(typeof(EndpointDataSource)) as EndpointDataSource;
Run Code Online (Sandbox Code Playgroud)

之后,您就拥有了已配置的所有端点以及添加您自己的端点。