IMvcBuilder AddJsonOptions는 어디에서 사용되었습니까?Net Core 3.0?
ASP 웹 API 프로젝트를 에서 업그레이드했습니다.Net core 2.0
로.3.0
사용하고 있었습니다.
services.AddMvc()
.AddJsonOptions(options =>options.SerializerSettings.ContractResolver
= new DefaultContractResolver());
이전에는 직렬화된 JSON의 낮은 케이스를 보장했습니다.
3.0으로 업그레이드한 후 다음 오류가 발생합니다.
오류 CS1061 'IMvcBuilder'에 'AddJsonOptions'에 대한 정의가 없고 '유형'의 첫 번째 인수를 허용하는 액세스 가능한 확장 메서드 'AddJsonOptions'이(가) 없습니다.IMvcBuilder'를 찾을 수 있습니다(사용 지침 또는 어셈블리 참조가 누락되었습니까?).
As의 MvcJson 옵션에 대한 추가Json 옵션에 따라.NetCore 2.2 AddJsonOptions 확장 방법은 Microsoft에서 제공합니다.AsNetCore.MVC 포맷터.Json nuget 패키지.설치/재설치를 시도했지만 여전히 방법을 해결할 수 없습니다.흥미롭게도, 인텔리센스는 마이크로소프트만을 보여줍니다.AsNetCore.MVC 포맷터.Json nuget 패키지를 추가했는데도 사용명세서를 추가하려고 할 때 Xml.
무슨 일이 일어나고 있는지 아십니까?AddJsonOptions에 대한 설명서는 에서만 참조할 수 있습니다.Net 2.2 그럼 이 방법은 다른 구성 메커니즘을 선호하여 3.0에서 더 이상 사용되지 않는 것이 아닐까요?
ASP.NET Core 3.0의 일부로서, 팀은 Json을 포함하는 것에서 벗어났습니다.기본적으로 NET.이에 대한 자세한 내용은 일반적으로 Microsoft 변경 사항에 대한 발표에서 확인할 수 있습니다.AsNetCore.앱.
Json.NET 대신 ASP.NET Core 3.0 및 .NET Core 3.0에는 성능에 좀 더 중점을 둔 다른 JSON API가 포함되어 있습니다.이에 대한 자세한 내용은 "의 JSON의 미래"에 대한 발표에서 확인할 수 있습니다.NET Core 3.0”.
ASP.NET Core의 새 템플릿은 더 이상 Json과 함께 번들되지 않습니다.NET 그러나 새 JSON 라이브러리 대신 사용하도록 프로젝트를 쉽게 재구성할 수 있습니다.이는 이전 프로젝트와의 호환성과 새 라이브러리가 전체 대체 라이브러리가 아니기 때문에 전체 기능 집합을 볼 수 없기 때문에 중요합니다.
Json을 사용하여 ASP.NET Core 3.0 프로젝트를 재구성하려면 다음과 같이 하십시오.NET, 다음에 NuGet 참조를 추가해야 합니다.Microsoft.AspNetCore.Mvc.NewtonsoftJson
필요한 모든 비트가 포함된 패키지입니다.그러면 스타트업의ConfigureServices
다음과 같이 MVC를 구성해야 합니다.
services.AddControllers()
.AddNewtonsoftJson();
그러면 MVC 컨트롤러가 설정되고 Json을 사용하도록 구성됩니다.새로운 API 대신 NET을 사용합니다.컨트롤러 대신 다른 MVC 오버로드를 사용할 수도 있습니다(예: 뷰가 있는 컨트롤러 또는 레이저 페이지). ㅠㅠAddNewtonsoftJson
메서드에는 Json을 구성할 수 있는 오버로드가 있습니다.기존과 같은 NET 옵션AddJsonOptions
Corex.ASP.NET Core 2.x 파일입니다.
services.AddControllers()
.AddNewtonsoftJson(options =>
{
options.SerializerSettings.ContractResolver = new DefaultContractResolver();
});
이것은 제게 효과가 있었습니다, 사용하는 동안..Net Core 3
:
services.AddMvc().AddJsonOptions(o =>
{
o.JsonSerializerOptions.PropertyNamingPolicy = null;
o.JsonSerializerOptions.DictionaryKeyPolicy = null;
});
마이크로소프트를 설치했는지 확인합니다.AsNetCore.Mvc.NewtonsoftJson 패키지.
이것은 저를 위한 작업입니다. NuGet의 "도트넷 추가 패키지 Microsoft"에서 NewtonsoftJson 패키지를 설치합니다.AsNetCore.Mvc.NewtonsoftJson --ASP.NET Core 3.0에서 작동하는 버전 3.1.0" 버전 3.1.0이며 다음 코드를 사용합니다.
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_3_0)
.AddNewtonsoftJson(opt => {
opt.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore;
});
잘 작동하길 바랍니다, 감사합니다.
이것은 도움이 될 것입니다.
public void ConfigureServices(IServiceCollection services)
{
services.AddControllers().AddJsonOptions(options=> { options.JsonSerializerOptions.PropertyNamingPolicy = null;
options.JsonSerializerOptions.DictionaryKeyPolicy = null;
});
services.AddDbContext<PaymentDetailContext>(options => options.UseSqlServer(Configuration.GetConnectionString("DevConnection")));
}
이렇게 하면 Nuget 패키지를 설치하는 데 도움이 됩니다.
마이크로소프트.AsNetCore.Mvc.뉴턴소프트제이슨
이것은 사용하는 동안 저에게 효과가 있었습니다.Net Core 3: 여기를 클릭합니다.
언급URL : https://stackoverflow.com/questions/55666826/where-did-imvcbuilder-addjsonoptions-go-in-net-core-3-0
'programing' 카테고리의 다른 글
온라인에서 안드로이드 소스 코드를 어디서 찾을 수 있습니까? (0) | 2023.06.02 |
---|---|
Android 소프트 키보드를 프로그래밍 방식으로 닫거나 숨기는 방법은 무엇입니까? (0) | 2023.06.02 |
Shared Preferences에서 commit()와 apply()의 차이점은 무엇입니까? (0) | 2023.06.02 |
디바이스를 Mac localhost Server에 연결하시겠습니까? (0) | 2023.06.02 |
APK 파일의 역엔지니어링을 방지하는 방법 (0) | 2023.06.02 |