Tôi đang sử dụng netstandard2.1
thư 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.Mvc
gó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à ServiceExtensions
lớ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à ConfigureLibraryOptions
lớ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à ConfigureServices
từ 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.1
thư viện lớp có tham chiếu đếnMicrosoft.AspNetCore.Mvc
2.2.0 trongnetcoreapp3.0
? Thay vào đó tôi nên thay đổinetstandard2.1
đểnetcoreapp3.0
và thêm mộtFrameworkReference
đếnMicrosoft.AspNetCore.App
?