.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 ์ฐธ์กฐ๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค. ๊ธฐ์ฌํ๊ณ ์ถ์ผ์๋ฉด ์ด์๋ฅผ ์ด๊ฑฐ๋ ๊ฒฝํ์ ๊ณต์ ํด ์ฃผ์ธ์!