Tôi đang sử dụng netstandard2.1thư viện trong netcoreapp3.0ứng dụng web của mình . Khi thêm dịch vụ của tôi vào Startup, tôi gặp lỗi dưới đây:
'Không thể tải loại' Microsoft.AspNetCore.Mvc.MvcJsonOptions 'từ cụm' Microsoft.AspNetCore.Mvc.Formatters.Json, Version = 3.0.0.0
Tôi cũng đang sử dụng một số tính năng từ Microsoft.AspNetCore.Mvcgói 2.2.0 trong thư viện lớp của mình.
Đây là thư viện của tôi .csproj,
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.1</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Mvc" Version="2.2.0" />
</ItemGroup>
</Project>
Đây là ServiceExtensionslớp học của tôi từ thư viện của tôi,
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;
}
}
Đây là ConfigureLibraryOptionslớp học của tôi ,
public class ConfigureLibraryOptions : IConfigureOptions<MvcOptions>
{
public void Configure(MvcOptions options)
{
options.ModelBinderProviders.Insert(0, new CustomBinderProvider());
}
}
Đây là ConfigureServicestừ Startup,
services.AddControllersWithViews().AddMyLibrary();
Hãy giúp đỡ về lý do tại sao tôi nhận được lỗi này và hỗ trợ về cách giải quyết vấn đề này?
netstandard2.1thư viện lớp có tham chiếu đếnMicrosoft.AspNetCore.Mvc2.2.0 trongnetcoreapp3.0? Thay vào đó tôi nên thay đổinetstandard2.1đểnetcoreapp3.0và thêm mộtFrameworkReferenceđếnMicrosoft.AspNetCore.App?