首页 > 解决方案 > 无法从程序集 Microsoft.AspNetCore.Routing Ver=3.1.7.0 加载类型 Microsoft.AspNetCore.Internal.EndpointRoutingApplicationBuilderExtensions

问题描述

我正在将我的 dotnet core 2.2 应用程序升级到 3.1。我有多项服务和一个基础库,最初都是在 2.2 AspDotNetCore 中开发的。我的计划是:

  1. 首先将我的基础库转换为 Dotnet 标准 2.1。我可以通过很少的参考更改成功地做到这一点。
  2. 现在我在其他 AspDotnet 核心应用程序中引用这个基本的 2.1 dotnet 标准库,我正在从 2.2 dotnet 核心升级到 3.1 dotnet 核心。在这里我收到如下错误。

无法从程序集“Microsoft.AspNetCore.Routing,版本=3.1.7.0,文化=中性,PublicKeyToken=adb9793829ddae60”加载类型“Microsoft.AspNetCore.Internal.EndpointRoutingApplicationBuilderExtensions”

发生此错误的地方是 UseMvcCoreServices ,这是我的自定义扩展提及:

 public void Configure(IApplicationBuilder app, IWebHostEnvironment env, IHttpContextAccessor ca, IHostApplicationLifetime applicationLifetime)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }

        app
            .UseMvcCoreServices(Configuration, Logger, env)
            .UseElasticClient(Configuration, Logger);

我关注了很多链接:[https://medium.com/@alexandre.malavasi/migration-from-asp-net-core-2-2-to-3-1-real-project-ca382ea7eef7] 和 [https ://docs.microsoft.com/en-us/aspnet/core/migration/22-to-30?view=aspnetcore-3.1&tabs=visual-studio]

但还没有运气。有人能帮我吗。这对我来说真的很关键。

标签: c#asp.net.netasp.net-core.net-core

解决方案


默认情况下,ASP.NET 3.0 和更高版本启用了端点路由。您只需在 Startup.cs 文件的 Configure() 方法中添加 app.UseRouting()',然后再添加任何其他需要访问路由的中间件。

详情请访问此链接: https: //www.yogihosting.com/aspnet-core-endpoint-routing/


推荐阅读