웹 응용 프로그램 netstandard2.1
에서 라이브러리를 사용하고 있습니다 netcoreapp3.0
. 에 서비스를 추가 Startup
하면 아래 오류가 발생합니다.
'어셈블리'Microsoft.AspNetCore.Mvc.Formatters.Json, 버전 = 3.0.0.0에서 'Microsoft.AspNetCore.Mvc.MvcJsonOptions'유형을로드 할 수 없습니다.
또한 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
netcoreapp3.0
netstandard2.1
netcoreapp3.0
FrameworkReference
Microsoft.AspNetCore.App