c# - 从 .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
解决方案
问题似乎出在您的以下包参考中:
<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" />
推荐阅读
- swift - 如何验证修改或删除的结构值
- postgresql - 如何管理跨两个表的唯一列
- inheritance - Grails:继承,如何访问包括子类在内的所有内容
- android - 从命令行为 arm64 构建 Qt 项目
- php - 有没有办法通过 mysql 中的触发器来指定更新的列?
- sql - 使用 R Studio Server 连接到 SQL Server
- java - IKVM:如何将 PdfBox 2.0.* 转换为 .Net 库集?
- python - 如何使“范围内”随机?
- python - Gitlab API - 悄悄地创建问题?
- django - 如何将用户对象传递到表单字段