지난번에 반고닉으로 1편을 썼는데 클리너 돌려서 없어짐
이번에는 AOT, Trimming를 지원하면서 바인딩을 쓸수 있을지 확인해봤음
참고로 CommunityToolkit.Mvvm과 CommunityToolkit.Mvvm.DependencyInjection을 썼음.
찾아보니 코드 생성 방식이라서 AOT에 크게 영향을 주지 않음
뷰 모델 코드
윈도우를 생성하는 코드
AOT 지원을 위해서 컴파일된 바인딩이라는 옵션이 있었음
CompileBindings를 윈도우 속성에 True로 주면 기존 Binding 구문을 쓰면서 AOT 지원이된다.
인텔리센스도 잘먹고 실제로 AOT publish를 시켜서 확인해봤는데 잘됨
dll 압축해서 번들링하고 upx시키면 최소 12메가인데 뭐 만들고 하면 20메가정도 나올것으로 보임
용량 적은걸 원해서 개짓거릴하게됨
Aot지원여부를 xaml에 적힌 속성가지고 바꾼다니 신기하네, 적어두기에따라 소스생성방식이 바뀌는건가 ㅋㅋ
그런듯ㅋㅋ
웃긴게 저거 쓰고나서 리플렉션을 위해 ReflectionBinding이라는것도 따로 만들어 뒀더라
Text.json사용및 소스제네레이션필수, ef사용불가,파케이등 포맷사용 불가
json 디/시리얼라이즈는 진작 포기했지