본문 바로가기

Development/.NET6

[.NET] "System.Exception: Library e_sqlite3 not found" 오류 해결 방법 최근에 내부 DB를 사용할 일이 있어 SQLite로 환경 구축을 하던 중 "System.Exception: Library e_sqlite3 not found" 오류를 맞닥뜨렸습니다. 이번 포스팅에서는 해당 오류 해결 방법에 대해 알아보겠습니다.  저는 Microsoft.Data.Sqlite NuGet을 사용하였고 SQL 쿼리와 매핑 간소화를 위해 Dapper도 함께 사용하였습니다. 객체 모델과 관계형 모델 간의 불일치를 줄이고 무엇보다 성능이 중요하였습니다. Dapper 뿐만 아니라 EF Core 등 다른 ORM도 많으니 필요와 용도에 맞게 구성하시면 될 듯합니다. SQL 쿼리를 더 간결하고 직관적으로 사용하기 위해 SQL 빌더인 SqlKata도 함께 사용하였습니다. 개인적으로 Dapper와 SqlKat.. 2024. 9. 28.
[.NET] NuGet 패키지 업데이트 시 "패키지를 찾을 수 없습니다" 오류 해결 방법 Node.js 및 JavaScript 환경에서 사용할 수 있는 NPM (Node Package Manager) 소프트웨어 패키지가 있는 것처럼. NET 생태계에는 NuGet이 존재합니다. 필요한 NuGet 패키지 설치 후 상위 버전이 릴리즈 되어 업데이트가 필요한 경우가 있는데요  이때 업데이트를 시도하려고 하면 오류가 발생하는 경우가 있습니다. 업데이트에 실패하는 주요 원인은 여러 가지가 있을 수 있지만 자주 발생하는 원인이 몇 가지 알아보겠습니다. Package Not Found (패키지 찾을 수 없음) 첫 번째는 패키지를 찾을 수 없는 오류입니다. 개발하면서 해당 오류와 더불어 아래의 종속성 해결 불가 오류를 가장 많이 맞닥뜨린 것 같습니다.  해당 오류는 NuGet이 나열된 소스에서 지정된 패키지.. 2024. 6. 22.
[.NET] C# Mac Address 추출 시 유의사항 윈도우 기반에서 동작하는 하드웨어나 여러 장치들을 연동하여 개발하다 보면 고유 주소인 맥어드레스(MacAddress)가 필요한 경우가 있습니다. 맥어드레스는 명령 프롬프트(CMD)에서 ipconfig /all 명령 이용하면 쉽게 확인할 수 있습니다. ipconfig /all 그렇다면 C#에서 이 맥어드레스는 어떻게 추출할 수 있을까요? 추출하는 방법은 여러 가지가 있을 수 있습니다. CMD 또는 PowerShell 명령 수행 후 출력된 결과를 읽어와서 데이터를 가공해 처리할 수도 있고, NetworkInterface 또는 WMI (Windows Management Instrumentation) 쿼리를 이용해 WMI 저장소에서 정보를 가져올 수도 있습니다.  저는 키오스크 개발을 할 때 WMI 쿼리를 이용.. 2024. 6. 15.
[.NET] WPF Template, Presenter + Binding 이번 포스팅에서는 WPF에서 UI를 다룰 때 필수적인 개념이라고 할 수 있는 Template과 Presenter 대해 알아보겠습니다. 1. Template, 템플릿이란?Template, 템플릿이란 무엇일까요? 제가 처음 Template을 접했을 때는 간단하게 Control을 꾸미기 위한 틀 정도로만 생각하고 넘어갔던 것 같습니다. 좀 더 자세히 알아볼까요?Template이란 부모 자식 관계를 갖는 엘리먼트들을 생성시킬 수 있는 정의. 즉 루트 엘리먼트, 루트 엘리먼트의 자식 엘리먼트, ··· 등 각각의 엘리먼트의 속성에 무엇이 있는지 선언하는 것입니다. 이렇게 정의된 Template은 LoadContent 메서드를 통해 정의에 따라 각각의 엘리먼트들의 인스턴스들이 실제적으로 생성된다.여기서 주의할 점은 .. 2021. 8. 5.