J'utilise la netstandard2.1
bibliothèque dans mon netcoreapp3.0
application Web. Lors de l'ajout de mon service Startup
, j'obtiens l'erreur ci-dessous:
'Impossible de charger le type' Microsoft.AspNetCore.Mvc.MvcJsonOptions 'de l'assembly' Microsoft.AspNetCore.Mvc.Formatters.Json, Version = 3.0.0.0
J'utilise également certaines fonctionnalités du Microsoft.AspNetCore.Mvc
package 2.2.0 dans ma bibliothèque de classes.
Voici ma bibliothèque .csproj
,
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.1</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Mvc" Version="2.2.0" />
</ItemGroup>
</Project>
Voici ma ServiceExtensions
classe de ma bibliothèque,
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;
}
}
Voici ma ConfigureLibraryOptions
classe,
public class ConfigureLibraryOptions : IConfigureOptions<MvcOptions>
{
public void Configure(MvcOptions options)
{
options.ModelBinderProviders.Insert(0, new CustomBinderProvider());
}
}
Voici le ConfigureServices
de Startup
,
services.AddControllersWithViews().AddMyLibrary();
Veuillez expliquer pourquoi je reçois cette erreur et vous aider à résoudre ce problème.
netstandard2.1
la bibliothèque de classes en référence àMicrosoft.AspNetCore.Mvc
2.2.0 dansnetcoreapp3.0
? Au lieu de cela , je devrais changernetstandard2.1
pournetcoreapp3.0
et ajouter unFrameworkReference
àMicrosoft.AspNetCore.App
?