首页 > 解决方案 > 从 .net core 2.2 迁移到 .net core 3.0 后出现包错误

问题描述

我遵循了互联网上的指南和帖子,甚至是微软的文档。更改了 swashbuckle 和其他东西,但我不断收到此错误Could not load type 'Microsoft.AspNetCore.Mvc.Formatters.JsonOutputFormatter' from assembly 'Microsoft.AspNetCore.Mvc.Formatters.Json

我已经安装了 NewtonsoftJson,谁能告诉我更多关于这个错误的信息?

应用程序在启动时崩溃MapControllers

app.UseRequestLocalization(ApiLocalization.GetLocalizationOptions());
        app.UseDefaultFiles();
        app.UseStaticFiles();
        app.UseRouting();
        app.UseCors(SetupCors);
        app.UseAuthentication();
        app.UseAuthorization();
        app.UseHangfireDashboard();
        app.UseEndpoints(options =>
        {
            options.MapControllers();
        });

编辑

<ItemGroup>
<PackageReference Include="Autofac" Version="4.8.1" />
<PackageReference Include="Autofac.Extensions.DependencyInjection" Version="4.3.1" />
<PackageReference Include="AutoMapper" Version="8.0.0" />
<PackageReference Include="EPPlus" Version="4.5.2.1" />
<PackageReference Include="FluentValidation.AspNetCore" Version="8.6.3" />
<PackageReference Include="Hangfire" Version="1.7.17" />
<PackageReference Include="Hangfire.Console" Version="1.4.2" />
<PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.5.1" />
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="3.0.0" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.Core" Version="2.2.5" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="3.0.0" />
<PackageReference Include="Microsoft.VisualStudio.SlowCheetah" Version="3.1.66" />
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="3.0.0" />
<PackageReference Include="NWebsec.AspNetCore.Middleware" Version="2.0.0" />
<PackageReference Include="Serilog.Extensions.Logging.File" Version="1.1.0" />
<PackageReference Include="SonarAnalyzer.CSharp" Version="7.9.0.7583">
  <PrivateAssets>all</PrivateAssets>
  <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>
<PackageReference Include="StyleCop.Analyzers" Version="1.0.2" />
<PackageReference Include="Swashbuckle.AspNetCore" Version="5.6.3" />
<PackageReference Include="Swashbuckle.AspNetCore.SwaggerGen" Version="5.6.3" />
<PackageReference Include="Swashbuckle.AspNetCore.SwaggerUI" Version="5.6.3" />
<PackageReference Include="Vanguard" Version="2.4.0" />
<PackageReference Include="Vanguard.Framework.Core" Version="2.3.1" />
<PackageReference Include="Vanguard.Framework.Http" Version="2.2.0" />

我不确定是否应该删除Microsoft.AspNetCore.Mvc.Core

标签: c#asp.net-core

解决方案


问题似乎出在您的以下包参考中:

<PackageReference Include="Vanguard" Version="2.4.0" />
<PackageReference Include="Vanguard.Framework.Core" Version="2.3.1" />
<PackageReference Include="Vanguard.Framework.Http" Version="2.2.0" />

您可以将它们注释掉并在包管理工具中搜索它们并安装最新版本,如下所示:

<PackageReference Include="Vanguard" Version="5.1.0" />
<PackageReference Include="Vanguard.Framework.Core" Version="5.2.0" />
<PackageReference Include="Vanguard.Framework.Http" Version="6.0.0" />

推荐阅读