Sto usando la netstandard2.1
libreria nella mia netcoreapp3.0
applicazione web. Quando aggiungo il mio servizio Startup
, visualizzo l'errore seguente:
'Impossibile caricare il tipo' Microsoft.AspNetCore.Mvc.MvcJsonOptions 'dall'assembly' Microsoft.AspNetCore.Mvc.Formatters.Json, Versione = 3.0.0.0
Sto anche usando alcune funzionalità del Microsoft.AspNetCore.Mvc
pacchetto 2.2.0 nella mia libreria di classi.
Ecco la mia 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>
Ecco la mia ServiceExtensions
lezione dalla mia 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;
}
}
Ecco la mia ConfigureLibraryOptions
classe,
public class ConfigureLibraryOptions : IConfigureOptions<MvcOptions>
{
public void Configure(MvcOptions options)
{
options.ModelBinderProviders.Insert(0, new CustomBinderProvider());
}
}
Ecco il ConfigureServices
da Startup
,
services.AddControllersWithViews().AddMyLibrary();
Aiutatemi sul motivo per cui ricevo questo errore e assistete su come risolverlo?
netstandard2.1
libreria di classi con riferimento allaMicrosoft.AspNetCore.Mvc
2.2.0 innetcoreapp3.0
? Invece dovrei cambiare ilnetstandard2.1
tonetcoreapp3.0
e aggiungere unFrameworkReference
alMicrosoft.AspNetCore.App
?