Estoy usando la netstandard2.1biblioteca en mi netcoreapp3.0aplicación web. Al agregar mi servicio Startup, recibo el siguiente error:
'No se pudo cargar el tipo' Microsoft.AspNetCore.Mvc.MvcJsonOptions 'del ensamblado' Microsoft.AspNetCore.Mvc.Formatters.Json, Version = 3.0.0.0
También estoy usando algunas funciones de Microsoft.AspNetCore.Mvc paquete 2.2.0 en mi biblioteca de clases.
Aquí está mi biblioteca .csproj,
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.1</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Mvc" Version="2.2.0" />
</ItemGroup>
</Project>
Aquí está mi ServiceExtensionsclase de mi biblioteca,
public static class ServiceExtensions
{
public static IMvcBuilder AddMyLibrary(this IMvcBuilder builder)
{
builder.Services.TryAddSingleton<IHttpContextAccessor, HttpContextAccessor>();
builder.AddJsonOptions(options =>
{
options.SerializerSettings.ContractResolver = new DefaultContractResolver();
});
builder.Services.ConfigureOptions<ConfigureLibraryOptions>();
return builder;
}
}
Aquí está mi ConfigureLibraryOptionsclase
public class ConfigureLibraryOptions : IConfigureOptions<MvcOptions>
{
public void Configure(MvcOptions options)
{
options.ModelBinderProviders.Insert(0, new CustomBinderProvider());
}
}
Aquí es el ConfigureServicesde Startup,
services.AddControllersWithViews().AddMyLibrary();
Por favor, ayuda sobre por qué recibo este error y cómo solucionarlo.
netstandard2.1la biblioteca de clases con referencia aMicrosoft.AspNetCore.Mvc2.2.0 innetcoreapp3.0? En cambio, ¿debería cambiar elnetstandard2.1tonetcoreapp3.0y agregar unFrameworkReferencetoMicrosoft.AspNetCore.App?