오늘 저녁에 진행될 언플러그드 밋업에서 이야기할 내용을 살짝 공유해보려 합니다. 저는 요즈음 닷넷에 대한 대표적인 클리셰 두 가지, (1) 윈도우 전용, (2) 비주얼 스튜디오 필수 라는 두터운 클리셰를 부수기 위한 리서치에 재미를 붙여서 여러 가지 아이디어를 탐구해보고 있습니다.
일단 가볍게 시작하면서, Windows OS의 핵심 컴포넌트 중 하나인 rundll32.exe에서 바로 불러다 쓸 수 있는 DLL을 Native AOT로 만들면서, 닷넷에서 흔히 하는 작업인 XLSX 파일 만들기를 구현해보면 어떨까 하는 생각을 해보면서 샘플 코드를 file-based app으로 만들어보았습니다.
rundll32.exe로 호출할 수 있는 Entrypoint는 사전에 시그니처 규격이 정해져 있는데, 이 규격에 맞게 함수를 export 시켜주면 당연하게도 네이티브 DLL을 만들 수 있습니다. 그리고 역시 좋은 점은 이 모든 것이 csproj가 아닌 단일 cs 파일 하나로 구현이 끝난다는 점이고, 필요하다면 기존 프로젝트도 불러올 수 있는 점이 좋습니다.
자세한 이야기는 오늘 저녁 7시 밋업에서 말씀드리겠습니다. 혹시 밋업에 참여하고 싶으신 분들이 계시다면 댓글로 남겨주시면 미팅 링크 공유드리겠습니다!