.NET Community Toolkit 8.4 릴리스 주요 기능 및 변경 사항
.NET Community Toolkit의 8.4 릴리스가 공식 출시되었습니다! 이번 버전은 MVVM Toolkit 생성기에서의 부분 속성 지원, 새로운 분석기, 버그 수정 및 개선 사항 등을 포함하고 있습니다. Microsoft 팀과 커뮤니티 개발자들로부터 받은 피드백에 깊이 감사드립니다.
주요 변경 사항
1. MVVM Toolkit의 부분 속성 지원 
- 부분 속성 지원은 MVVM Toolkit 소스 생성기에서 가장 인기 있는 기능 요청 중 하나로, 이제 .NET 9 SDK의 새로운 C# 언어 기능 덕분에 가능해졌습니다.
- 주요 개선 사항:
- 속성 선언이 C# 언어와 제대로 통합되어, 사용자 정의 접근 수정자 및 속성, 필드, 접근자에 대한 사용자 정의 속성 주석을 사용할 수 있습니다.
- 새로운, 봉인된, 재정의된, 필수와 같은 수정자 지원.
- 널 가능성 주석이 개선되어 속성 초기화자 및 생성자를 올바르게 처리합니다.
- [ObservableProperty]가 UWP 및 WinUI 3에서 완전히 AOT 안전하게 됩니다.
- Visual Studio의 업데이트에서 CTRL + 클릭(또는 F12)로 부분 속성 선언과 구현 간의 탐색이 용이해집니다.
- 새로운 코드 수정기가 추가되어, [ObservableProperty]를 필드에서 부분 속성으로 자동으로 변환할 수 있습니다.
2. 새로운 MVVM Toolkit 분석기 
- MVVM Toolkit의 진단 분석기 세트가 확장되었습니다. 새로운 분석기는 다음과 같은 오류 및 경고를 포함합니다:
- MVVMTK0041: [ObservableProperty]를 사용할 때 C# 언어 버전을 'preview’로 설정해야 함.
- MVVMTK0042: [ObservableProperty]를 사용하는 필드를 부분 속성으로 변환하는 것이 권장됨.
- MVVMTK0045: [ObservableProperty]를 사용하는 필드는 WinRT 시나리오에서 AOT 호환성이 없음.
- MVVMTK0051: [ObservableProperty]를 부분 속성에서 사용하기 위해 'LangVersion’을 'preview’로 설정해야 함.
3. 기타 변경 사항 및 개선 사항 
- Windows SDK 버전 검증을 위한 .targets 추가.
- 속성 접근자에 대한 속성 전달 허용.
- 사용자 정의 속성 대상에 대한 억제 수정.
- 필드에서 [ObservableProperty]를 사용할 때 ‘required’ 필드 지원.
- 모든 분석 프로젝트에 .pdb 파일 포함.
- ReadOnlySequence에 대한 Stream 추가.
시작하기
- 모든 소스 코드는 GitHub 리포지토리에서 확인할 수 있으며, MS Learn에서 일부 문서와 .NET API 브라우저 웹사이트에서 완전한 API 참조를 찾을 수 있습니다. 기여하고 싶으시면 이슈를 열거나 경험을 공유해 주세요!