Я використовую netstandard2.1бібліотеку у своєму netcoreapp3.0веб-додатку. Додаючи службу в Startup, я отримую помилку нижче:
'Не вдалося завантажити тип' Microsoft.AspNetCore.Mvc.MvcJsonOptions 'з збірки' Microsoft.AspNetCore.Mvc.Formatters.Json, Версія = 3.0.0.0
Я також використовую деякі функції з Microsoft.AspNetCore.Mvcпакета 2.2.0 в моїй бібліотеці класів.
Ось моя бібліотека .csproj,
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.1</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Mvc" Version="2.2.0" />
</ItemGroup>
</Project>
Ось мій ServiceExtensionsклас із моєї бібліотеки,
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;
}
}
Ось мій ConfigureLibraryOptionsклас,
public class ConfigureLibraryOptions : IConfigureOptions<MvcOptions>
{
public void Configure(MvcOptions options)
{
options.ModelBinderProviders.Insert(0, new CustomBinderProvider());
}
}
Ось ConfigureServicesз Startup,
services.AddControllersWithViews().AddMyLibrary();
Будь ласка, допоможіть, чому я отримую цю помилку, і допоможіть, як вирішити цю проблему?
netstandard2.1бібліотеку класів із посиланням наMicrosoft.AspNetCore.Mvc2.2.0 вnetcoreapp3.0? Натомість я повинен змінитиnetstandard2.1наnetcoreapp3.0та додатиFrameworkReferenceдоMicrosoft.AspNetCore.App?