Windows Forms NativeAOT 지원에 관한 현황

2025년 2월 기준으로, NativeAOT는 이제 어느정도 쓰일만한 기술이 되었지만, 많은 분들의 바람이 있는 Win32 애플리케이션의 NativeAOT 지원은 기존 GUI 애플리케이션이 리플렉션이나 COM에 의존하는 경향이 많아 지원이 쉽지 않다는 문제가 있습니다.

그 중에서도 WPF는 리플렉션 의존도가 매우 높아 사실상 NativeAOT로 트리밍하는 것이 불가한 것으로 결론이 났고, Windows Forms의 경우에는 리플렉션 의존 빈도가 높진 않으나 COM 의존성이 많아 이 부분에 대한 리서치가 계속 이루어지고 있습니다.

참고로 현재 개발 중인 Windows Forms NativeAOT 지원과 관련해서는 아래 GitHub Issue를 참조하시면 진행 상황을 확인할 수 있습니다.

지금으로서는 NativeAOT를 사용하면서도 Win32 GUI를 사용하고자 한다면 Win32 API를 직접 P/Invoke로 호출하는 방식 (저수준)이나, Avalonia를 택하는 것이 유효한 대안으로 보이는데, 더 좋은 솔루션이 있을지 모르겠습니다.

3개의 좋아요