C# 迁移到.NET Core 3.0后出现的问题
迁移到.NET Core 3.0后。我在配置昂首阔步时遇到了问题 以下是我的配置C# 迁移到.NET Core 3.0后出现的问题,c#,asp.net-core,swagger,.net-core-3.0,asp.net-core-3.0,C#,Asp.net Core,Swagger,.net Core 3.0,Asp.net Core 3.0,迁移到.NET Core 3.0后。我在配置昂首阔步时遇到了问题 以下是我的配置 public void ConfigureServices(IServiceCollection services) { services.AddMvc().SetCompatibilityVersion(Microsoft.AspNetCore.Mvc.CompatibilityVersion.Version_3_0).AddNewtonsoftJson();
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc().SetCompatibilityVersion(Microsoft.AspNetCore.Mvc.CompatibilityVersion.Version_3_0).AddNewtonsoftJson();
services.AddSwaggerGen(setup =>
{
setup.SwaggerDoc(
"v1",
new Info
{
Title = "Docker",
Version = "v1"
});
});
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
Configuration.SwaggerOptions swaggerOptions = new Configuration.SwaggerOptions();
_configuration.GetSection("SwaggerOptions").Bind(swaggerOptions);
app.UseSwagger(options =>
{
options.RouteTemplate = swaggerOptions.JsonRoot;
});
app.UseSwaggerUI(options =>
{
options.SwaggerEndpoint(swaggerOptions.UiEndpoint, swaggerOptions.ApiDescription);
});
}
以下是例外
TypeLoadException:无法加载类型
来自程序集的“Microsoft.AspNetCore.Mvc.MvcJsonOptions”
'Microsoft.AspNetCore.Mvc.Formatters.Json
有解决办法吗 在aspnet/AspNetCore github回购协议上讨论了以下内容: 这表明问题已经解决 我建议您确保安装了最新的Swashback.AspnetCore软件包: 在官方asp.net核心文档中,它指出:
安装软件包Swashback.AspNetCore-版本5.0.0-rc2
因此,我建议您需要安装预发布版本,在编写本文时,只有4.X是稳定的,5.0.0-rc3是最新的。
在Net Core 3.0中:
我正在尝试配置ReferenceLoopHandling
,但对我来说,所选答案无效,因此我在ConfigureServices中找到了此备选方案,请添加:
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc().AddNewtonsoftJson(options =>
{
options.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
});
}
从4移动到新的5-RC可以很好地解决这一问题,因为MEGET出现了“找不到类型或命名空间名称'Info'的错误”。已尝试安装RC2、3和4。Ideas?@inliner49er
Info
对象已更改为openapinfo
,而openapinfo
的命名空间为Microsoft.OpenApi.Models