반응형
반응형
EF Core를 사용하다가 문제를 발견했습니다. ※오류해석위처럼 오류의 내용을 보아 MySql커넥션에 관한 문제일 확률이 높아보였는데 아니나 다를까 예상이 맞았습니다.위 오류의 원인은 다음과 같습니다.System.InvalidCastException: 'Unable to convert MySQL date/time to System.DateTime, set AllowZeroDateTime=True or ConvertZeroDateTime=True in the connection string. See https://mysqlconnector.net/connection-options/'이 말은 set AllowZeroDateTime=True ,ConvertZeroDateTime=True 를 Mysql 커넥션 ..
c#에서 빌드를 하려고 했는데 아래와 같은 오류 문구가 발생했습니다."($(MsBuildMajorVersion) 해당 오류는 MSBuild의 내부속성에 MsBuildMajorVersion이 비어있어서 숫자에 대한 비교가 불가능 하다는 신호입니다.빌드 시에 MSBuild의 버젼 정보를 못읽어오고 있다. 이렇게 생각하시면 될것 같습니다.※해결법Visual Studio 버전 업비주얼 스튜디오의 버젼을 2019보다 위인 2022버전을 사용하시면 됩니다. 이는 visual Studio 2019이하에선 일부 프로젝트의 MsBuildMajorVersion 변수가 인식이 안될 수 있습니다.단 저의 경우에는 이미 2022로 빌드중이었기에 위 해결법은 통하지 않았습니다. MsBuildMajorVersion이 비어 있는 경..
C# 개발을 하다 보면 아래와 같이 "lc.exe"이(가) 종료되었습니다(코드: -1) 이런 오류가 아주 많이 발생합니다.c# winform 과 wpf 같은 경우에는 주로 위에서 말한 외부 ui라이브러리를 주로 사용하기에 이를 사용하다 라이선스파일에 문제가 생겨서 문제가 발생된 경우입니다. 즉 서드파티툴을 사용할때, DevExpress, Telerik, Infragistics 등의 UI 컨트롤 사용 시 라이선스가 올바르게 설치되지 않았거나 손상된 경우 발생하게 됩니다.※해결법1. 검색 : 이 경우에는 해결법이 아주 간단합니다. 아래와 같이 솔루션 탐색에서 "license"를 검색합니다.2. 삭제 : 해당 licenses.licx파일을 삭제해 줍니다.3. 빌드 : 그 후에 빌드를 실행해 봅니다.빌드가 정상..
asp.net core에서 health Check는 해당 어플리케이션이 정상적으로 작동하는지 확인하는 기능입니다.위 기능으로는 크게 아래와 같이 활용 가능합니다.애플리케이션의 가용성 모니터링: Health Check는 애플리케이션이 정상적으로 작동하는지 확인하는데 사용됩니다. 이를 통해 시스템이 언제든지 사용할 수 있는지 여부를 판단할 수 있습니다.종속 서비스 상태 확인: 데이터베이스, 캐시, 외부 API 등 애플리케이션이 의존하고 있는 서비스들의 상태를 확인할 수 있습니다. 만약 종속 서비스 중 하나가 비정상 상태라면, 이를 즉시 감지하고 조치를 취할 수 있습니다.컨테이너 오케스트레이션 도구 통합: Kubernetes와 같은 컨테이너 오케스트레이션 도구에서는 애플리케이션의 상태를 확인하기 위해 Heal..
asp.net core에서는 미들웨어를 통해서 에러를 전역에서 관리할 수 있습니다. 그냥 일반적인 try catch문을 사용해도 무방하지만 이러한 방법을 쓰면 에러를 중앙에서 관리하기 때문에 더 에러 처리에 대한 프로세스 관리를 쉽게 할 수 있습니다. 구성 방법은 아래와 같습니다. public class NotFoundException : ApplicationException { public NotFoundException(string name, object key) : base($"{name}({key}) was not found") { } } 위처럼 오류가 날만한 부분에 생성할 Exception 클래스를 하나 생성하고 ApplicationException 클래스를 상속받습니다. public class..
ASP.NET CORE를 사용하다 보면 객체 매핑을 하는 코드를 계속 작성해야 하는 번거로움이 있습니다. 이럴때 AutoMapper라는 확장을 설치하여서 객체 매핑의 번거로움을 줄입니다. 위의 AutoMapper.Extensions.Microsoft.DependencyInjection 패키지를 설치하면 AutoMapper의 기능들을 사용 할 수 있게됩니다. AutoMapper는 기본적으로 Profile클래스를 상속받아서 해당 상속받은 클래스에서 매핑을 할 model객체와 dto를 CreateMap 이라는 메서드를 통하여 컨테이너에 등록 할 수 있습니다. public abstract class BaseCountryDto { [Required] public string Name { get; set; } pu..