无法从程序集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,Version = 3.1.7.0,Culture = neutral,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/zh-cn/aspnet/core/migration/22-to-30?view=aspnetcore-3.1&tabs=visual-studio]

但是没有运气。有人能帮我吗。对我来说真的很重要。

解决方法

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

有关详细信息,请访问以下链接:https://www.yogihosting.com/aspnet-core-endpoint-routing/

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...