ฉันใช้netstandard2.1
ห้องสมุดในnetcoreapp3.0
เว็บแอปพลิเคชันของฉัน เมื่อเพิ่มบริการของStartup
ฉันฉันได้รับข้อผิดพลาดด้านล่าง:
'ไม่สามารถโหลดประเภท' Microsoft.AspNetCore.Mvc.MvcJsonOptions 'จากชุดประกอบ' Microsoft.AspNetCore.Mvc.Formatters.Json, Version = 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.Mvc
2.2.0netcoreapp3.0
ใช่หรือไม่ แต่ฉันควรจะเปลี่ยนnetstandard2.1
ไปnetcoreapp3.0
และเพิ่มFrameworkReference
ไปMicrosoft.AspNetCore.App
?