Winrt ΡΡΠΎ ΡΡΠΎ Π² windows 10
ΠΠ°ΡΠΈΠΎΠ½Π°Π»ΡΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΈΠΌ. Π. Π. ΠΠ°ΡΠΌΠ°Π½Π°
Bauman National Library
ΠΠ΅ΡΡΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ
Microsoft Windows Runtime
A component of Microsoft Windows | |
---|---|
Details | |
Other names | WinRT |
Type | API |
Included with | Microsoft Windows Server 2012, Microsoft Windows 8, Microsoft Windows RT, Microsoft Windows 8.1, Microsoft Windows Server 2012 R2, Microsoft Windows 10, Microsoft Windows Server 2016 |
Related components | |
Microsoft Windows Store, Microsoft Windows API |
Windows Runtime (WinRT) β ΠΌΠΎΠ΄Π΅Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΡ Microsoft, Π²ΠΏΠ΅ΡΠ²ΡΠ΅ Π²Π²Π΅Π΄Π΅Π½Π½ΡΡ Π² Windows 8 ΠΈ Windows Server 2012 Π² 2012 Π³ΠΎΠ΄Ρ. WinRT ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ Π½Π° C++ (ΠΎΠ±ΡΡΠ½ΠΎ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΡΠ·ΡΠΊΠ° Component Extensions, C++/CX), ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΡ ΡΠ·ΡΠΊΠ°Ρ C# ΠΈ VB.NET, Π° ΡΠ°ΠΊΠΆΠ΅ JavaScript. ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ WinRT ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Ρ Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΉ ΡΠΎΠ²ΠΌΠ΅ΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΠ·ΡΠΊΠ°ΠΌΠΈ ΠΈ API-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ², Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΡΠΎΠ΄Π½ΠΎΠΉ, ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΠΉ ΠΈ ΡΠΊΡΠΈΠΏΡΠΎΠ²ΡΠΉ ΡΠ·ΡΠΊΠΈ.
Windows Phone 8.1 ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π²Π΅ΡΡΠΈΡ Windows Runtime ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Windows Phone Runtime. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² C# ΠΈ VB.NET, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Windows Runtime Π² C++/CX. [1]
Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅
Π’Π΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ
ΠΠΎΠ²ΡΠΉ C++/CX (Component Extensions) ΡΠ·ΡΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°ΠΈΠΌΡΡΠ²ΡΠ΅Ρ ΡΠ°ΡΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° C++/CLI, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΈΡΠ°ΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ WinRT Ρ ΠΌΠ΅Π½ΡΡΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΡΠ²ΡΠ·ΡΡΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°, Π²ΠΈΠ΄ΠΈΠΌΠΎΠ³ΠΎ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°, ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΠΌ COM ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π½Π° C++, ΠΈ Π½Π°ΠΊΠ»Π°Π΄ΡΠ²Π°Π΅Ρ ΠΌΠ΅Π½ΡΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ C++/CLI ΠΏΡΠΈ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠΈ ΡΠΈΠΏΠΎΠ². ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ½ΡΠ΅ Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΡ C++/CX ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡΡΡΡ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ Π² API-boundary, Π° Π½Π΅ Π΄Π»Ρ Π΄ΡΡΠ³ΠΈΡ ΡΠ΅Π»Π΅ΠΉ. Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ C++ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ WinRT, Ρ ΠΏΠΎΠΌΠΎΡΡΡ Windows Runtime C++ Template Library (WRL), ΠΊΠΎΡΠΎΡΠ°Ρ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½Π° ΠΏΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΎΠΌΡ, ΡΡΠΎ Active Template Library ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ COM.
WinRT ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π² ΠΏΠ΅ΡΠΎΡΠ½ΠΈΡΠ΅ ΠΈ ΡΡΠ΅Π±ΡΡΡ ΠΏΡΡΠΌΠΎΠ³ΠΎ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈ Π²Π°ΠΆΠ½ΡΠΌ ΡΡΠ½ΠΊΡΠΈΡΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ. ΠΠΎΡΡΡΠΏ ΠΊ ΡΠ°ΠΉΠ»Π°ΠΌ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ Π·Π°ΡΠ°Π½Π΅Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌΠΈ ΠΌΠ΅ΡΡΠ°ΠΌΠΈ, ΡΠ°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ, Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ ΠΈΠ»ΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ.
Π‘Π΅ΡΠ²ΠΈΡΡ
ΠΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅
ΠΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅ ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ ΠΊΠΎΠ΄, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π΄Π»Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ WinRT. ΠΠ½ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΈΡΠ°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ΄Π΅Π»Π΅Π½ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ·ΡΠΊΠ°ΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π° ΡΠ°ΠΊΠΆΠ΅ Π΄Π°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΡΠ΅ΡΠ²ΠΈΡΡ, ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΡΠ΅ΡΠ»Π΅ΠΊΡΠΈΠΈ.
ΠΠ΅ΡΠ± Π‘Π°ΡΡΠ΅Ρ, ΡΠΊΡΠΏΠ΅ΡΡ ΠΏΠΎ C++ Π² Microsoft, ΠΎΠ±ΡΡΡΠ½ΠΈΠ» Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ²ΠΎΠ΅ΠΉ ΡΠ΅ΡΡΠΈΠΈ ΠΏΠΎ C++ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΠΈ Build 2011, ΡΡΠΎ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅ WinRT ΡΡΠΎ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅ CLI. ΠΠ°ΡΠΈΠ½Π½ΡΠΉ ΠΊΠΎΠ΄ (Ρ.Π΅. ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°) Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅ ΠΈ ΠΏΠΎΡΡΠΎΠΌΡ Ρ ΡΠ°Π½ΠΈΡΡΡ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ WINMD-ΡΠ°ΠΉΠ»Π°Ρ , ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½Π½Ρ ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΡΠ΅ CLI ΡΠ±ΠΎΡΠΊΠΈ.
Π’Π°ΠΊ ΠΊΠ°ΠΊ ΡΡΠΎ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅ CLI, ΠΊΠΎΠ΄, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π½Π° ΡΠΎΠ΄Π½ΠΎΠΌ ΡΠ·ΡΠΊΠ΅ WinRT ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Ρ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΠΌΠΈ CLI ΡΠ·ΡΠΊΠ°ΠΌΠΈ.
Π’ΠΈΠΏ ΡΠΈΡΡΠ΅ΠΌΡ
ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ WinRT
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ
Π ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΠΈ WinRT, ΡΠ·ΡΠΊΠΎΠ²Π°Ρ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ° Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠ·ΡΠΊΠΎΠ²ΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡΠΈΠ΅ΠΉ.
C++ (WRL, Component Extensions)
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡ Ρ Π΄ΡΡΠ³ΠΈΠΌ ΡΠ·ΡΠΊΠΎΠΌ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅ΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΡ Ρ ΡΠΈΠΏΠ°ΠΌΠΈ WinRT ΠΈΠ»ΠΈ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΠΉ ΡΠΈΠΏ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΡΠ΅ΡΡΡ.
JavaScript
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ WinRT ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π·Π°ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½Ρ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ HTML Ρ JavaScript Π² code-behind, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π΄Π²ΠΈΠΆΠΊΠ° ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³Π° Trident ΠΈ Π΄Π²ΠΈΠΆΠΎΠΊΠ° Chakra JavaScript, ΠΎΠ±Π° ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Internet Explorer. ΠΡΠΈ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ WinRT Π² JavaScript, Π΅Π³ΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ Π°Π΄Π°ΠΏΡΠΈΡΡΡΡΡΡ, ΡΡΠΎΠ±Ρ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΡΡ Π΅ΠΌΠ°ΠΌ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ JavaScript ΠΈ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½ ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡΡ JavaScript.
WinRT ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ (API) Π² Π²ΠΈΠ΄Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΊΠ»Π°ΡΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Windows 8 Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ²,ΠΊΠ°ΠΊ ΠΈ Π΅Π³ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠ½Π°ΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ API. ΠΠ½ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΈΠ· Π»ΡΠ±ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ°.
ΠΠ»Π°ΡΡΡ Runtime
ΠΠ»Π°ΡΡΡ Windows Runtime ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ Π½Π°Π±ΠΎΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² SDK, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊΠΎ Π²ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡΠΌ ΠΈΠ· ΠΈΠ· XAML ΠΏΠ°ΡΡΠ΅ΡΠ° Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΊΠ°ΠΌΠ΅ΡΡ. Π SDK ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ ΠΊΠ°ΠΊ ΡΠΎΠ΄Π½ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ C/C++ (Π½Π΅ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΠ΅).
Π‘Ρ Π΅ΠΌΡ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ
ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π°
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Windows Runtime ΠΏΡΠΎΠ΅ΡΠΈΡΡΠ΅ΡΡΡ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠ·ΡΠΊΠ°Ρ , Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΡ Π²ΡΠ΅ ΡΡΠΈ ΡΠ·ΡΠΊΠΈ. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΎΡΡΠΎΡΠΎΠΆΠ½Ρ Ρ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ ΡΡΠΈΡ ΡΠΈΠΏΠΎΠ² ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Ρ ΠΎΡΠΊΡΡΡΡΠΌ Π΄ΠΎΡΡΡΠΏΠΎΠΌ (Π΄Π»Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄Π°, ΠΌΠ΅ΡΠΎΠ΄ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, ΡΠ²ΠΎΠΉΡΡΠ² ΠΈ Ρ.Π΄.)
ΠΡΡΠΎΡΠΈΡ Π²Π΅ΡΡΠΈΠΉ
ΠΠ΅ΡΡΠΈΡ Windows | |
---|---|
Windows 8 | Windows Runtime |
Windows 8.1 | |
Windows 10 | Universal Windows Platform (UWP) |
Windows Phone Runtime
ΠΠ°ΡΠΈΠ½Π°Ρ Ρ Windows Phone 8 ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π²Π΅ΡΡΠΈΡ Windows Runtime, ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Windows Phone Runtime (WPRT). ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ,ΡΡΠΎ WP8 ΠΏΡΠΈΠ½Π΅Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ, ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π² ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌ ΡΡΠ΅ΡΠ΅ ΡΡ ΠΎΠ΄ΠΈΡΡΡ Ρ Windows 8.1 Π² Windows Phone 8.1.
Windows Phone 8
Windows Phone 8.1
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Windows Runtime Π½Π° Windows Phone 8.1 ΡΡ ΠΎΠ΄ΠΈΡΡΡ Ρ Windows 8.1. Π Π΅Π»ΠΈΠ· ΠΏΡΠΈΠ²Π½ΠΎΡΠΈΡ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΠΏΠΎΠ»Π½ΡΠΉ API Windows Runtime, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΡΡΠ΅Π΄Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Windows Runtime XAML Framework ΠΈ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ ΠΊ ΡΠ·ΡΠΊΡ Π΄Π»Ρ C++/CX ΠΈ HTML5-JavaScript. Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠ°ΠΊΠΆΠ΅ ΡΠΈΠΏ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Π£Π½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄ ΡΠ΅ΡΠ΅Π· Π²Π΅ΡΡΠΈΠΈ 8.1 Windows Phone ΠΈ Windows.
ΠΠ±Π½ΠΎΠ²Π»Π΅Π½Π° Π²Π΅ΡΡΠΈΡ Windows Phone 8 Silverlight Framework. ΠΠ½Π° ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π½ΠΎΠ²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΡΡΠ΅Π΄Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Windows.
Windows Phone Runtime ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠΎΡΠΌΠ°Ρ ΠΏΠ°ΠΊΠ΅ΡΠ° AppX ΠΈΠ· Windows 10, ΡΠ°Π½Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π² Silverlight XAP.
ΠΡΠΎΡΡΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ WinRT
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Windows 8 ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ Π½ΠΎΠ²ΡΡ ΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌΡ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Ρ Π±ΠΎΠ»ΡΡΠΎΠΉ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡΡ Π±ΡΠ΄Π΅Ρ ΠΎΡΡΠ°ΠΆΠ΅Π½Π° Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ Windows Store. ΠΡΠ° ΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌΠ°, ΠΎΡΡΠ°ΡΡΠΈ Π²Π΄ΠΎΡ Π½ΠΎΠ²Π»Π΅Π½Π½Π°Ρ Π³ΠΎΡΠΎΠ΄ΡΠΊΠΈΠΌΠΈ Π²ΡΠ²Π΅ΡΠΊΠ°ΠΌΠΈ, ΡΡΠ°Π²ΠΈΡ Π½Π° ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅, Π° Π½Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ Β«Ρ ΡΠΎΠΌΒ»; Π΄Π»Ρ Π½Π΅Π΅ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΡΡΡΡ ΡΡΠΈΡΡΠΎΠ², ΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈ ΠΎΡΠΊΡΡΡΠΎΠ³ΠΎ ΡΡΠΈΠ»Ρ ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΡ, ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π½Π° Π±Π°Π·Π΅ ΠΏΠ»ΠΈΡΠΎΠΊ ΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π½ΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΉ.
ΠΠ΄Π½ΠΎΠΉ ΠΈΠ· Π²Π°ΠΆΠ½ΡΡ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊ Π½ΠΎΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΡΡΠ΅Π΄Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΅Π΅ ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΡΡΡ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎΠΏΠ°Π»ΡΡΠ΅Π²ΡΠΉ ΡΠ΅Π½ΡΠΎΡΠ½ΡΠΉ Π²Π²ΠΎΠ΄, ΠΊΠ°ΡΠ΄ΠΈΠ½Π°Π»ΡΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ²ΡΠΈΠΉ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ ΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠΌ. Π‘ΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Β«ΠΌΠ½ΠΎΠ³ΠΎΠΏΠ°Π»ΡΡΠ΅Π²ΡΠΉΒ» ΡΡΠ°Π»ΠΎ Π»ΠΈΡΠ½ΠΈΠΌ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ΅ Π½ΠΎΠ²ΡΠ΅ ΡΠ΅Π½ΡΠΎΡΠ½ΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΡΠ΅Π°Π³ΠΈΡΡΡΡ Π½Π° ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΊΠ°ΡΠ°Π½ΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΏΠ°Π»ΡΡΠ΅Π². Π ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΠ°ΡΡΠ΅ΠΉ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Windows 8 Π²Π²ΠΎΠ΄ Ρ ΡΠ΅Π½ΡΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠΊΡΠ°Π½Π°, ΠΌΡΡΠΈ ΠΈ ΠΏΠ΅ΡΠ° ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΠΎ, ΡΠ°ΠΊ ΡΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π³ΠΎΡΠΎΠ²Ρ ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΎ Π²ΡΠ΅ΠΌΠΈ ΡΡΠ΅ΠΌΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ°ΠΌΠΈ Π²Π²ΠΎΠ΄Π°.
Windows Phone 8 ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠΎΠΌ Π΄Π»Ρ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ Android ΠΈ iOS. ΠΠ»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π½Π° Π°ΠΉΠΏΠ°Π΄ ΠΈ Π°ΠΉΡΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ·ΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ (Java Π΄Π»Ρ Android ΠΈ Objective-C Π΄Π»Ρ iOS). Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π΄Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Windows 8 ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΡΡΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π²Π°ΡΠΈΠ°Π½ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΠΎΡΠ½ΠΎΠ²Π°Π½ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΠ·ΡΠΊΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠΊΠΈ:
C# ΠΈΠ»ΠΈ Visual Basic ΠΈ XAML;
JavaScript ΠΈ HTML5.
Π ΡΡΠΎΠΉ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΡΠ°ΡΡΡΡ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΡΠΎΡΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ WinRT. ΠΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ, ΡΡΠΎ Π½Π° Π²Π°ΡΠ΅ΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° Windows 8 ΠΈΠ»ΠΈ Windows 8.1, Π° ΡΠ°ΠΊΠΆΠ΅ Π½ΠΎΠ²Π΅ΠΉΡΠ°Ρ Π²Π΅ΡΡΠΈΡ Microsoft Visual Studio, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠ°Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Windows 8. ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ Visual Studio ΡΠΎ ΡΡΠ°ΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠΊΡΠ°Π½Π° Windows 8. ΠΠΎΡΠ° Π±ΡΠ°ΡΡΡΡ Π·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅!
ΠΠ΅ΡΠ²ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ
Visual Studio ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ WinRTTestApp, ΠΏΡΠΎΠ΅ΠΊΡ WinRTTestApp Π² ΡΡΠΎΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π°Π±ΠΎΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅. ΠΡΠΈ ΡΠ°ΠΉΠ»Ρ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Ρ Π² ΠΎΠΊΠ½Π΅ Solution Explorer Π² ΠΏΡΠ°Π²ΠΎΠΉ ΡΠ°ΡΡΠΈ ΡΠΊΡΠ°Π½Π° Visual Studio. ΠΠ°ΠΆΠ΄ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Visual Studio ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Ρ ΠΎΡΡ Π±Ρ ΠΎΠ΄ΠΈΠ½ ΠΏΡΠΎΠ΅ΠΊΡ, Π½ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ.
Π ΡΠΏΠΈΡΠΎΠΊ ΡΠ°ΠΉΠ»ΠΎΠ² ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π²Ρ ΠΎΠ΄ΠΈΡ ΡΠ°ΠΉΠ» Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ MainPage.xaml. Π©Π΅Π»ΠΊΠ½ΡΠ² ΠΌΠ°Π»Π΅Π½ΡΠΊΠΎΠΉ ΡΡΡΠ΅Π»ΠΊΠ΅ ΡΡΠ΄ΠΎΠΌ Ρ ΡΡΠΈΠΌ ΡΠ°ΠΉΠ»ΠΎΠ² Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ ΡΠ°ΠΉΠ» Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ MainPage.xaml.cs ΡΠΌΠ΅ΡΠ΅Π½Π½ΡΠΉ Π²ΠΏΡΠ°Π²ΠΎ ΠΎΡ MainPage.xaml:
Π€Π°ΠΉΠ»Ρ MainPage.xaml ΠΈ MainPage.xaml.cs Π²ΠΊΠ»ΡΡΠ΅Π½Ρ Π² ΠΎΠΊΠ½ΠΎ Solution Explorer, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· Π½ΠΈΡ Π²Π½ΠΎΡΠΈΡ ΡΠ²ΠΎΠΉ Π²ΠΊΠ»Π°Π΄ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ° MainPage. Π ΠΏΡΠΎΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ , ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ Π½Π°ΡΠ°, ΠΊΠ»Π°ΡΡ MainPage ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π²ΡΠ΅ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΠ΅ Π°ΡΠΏΠ΅ΠΊΡΡ ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΠΎΠ»ΡΡΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ Π² ΡΡΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ Π·Π°Π½ΠΈΠΌΠ°ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ using Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ² ΠΈΠΌΠ΅Π½, ΠΊΠΎΡΠΎΡΡΠ΅, ΠΊΠ°ΠΊ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ, ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΡΡΡΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠΏΡΠΎΡΠ΅ΠΌ, Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ°ΠΉΠ»ΠΎΠ² MainPage.xaml.cs Π½ΡΠΆΠ½Ρ Π½Π΅ Π²ΡΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½, Π° Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΠ°ΠΉΠ»Π°Ρ ΡΡΠ΅Π±ΡΡΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°.
ΠΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½ Π΄Π΅Π»ΡΡΡΡ Π½Π° Π΄Π²Π΅ ΠΎΠ±ΡΠΈΠ΅ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ ΠΏΠΎ ΠΏΡΠ΅ΡΠΈΠΊΡΡ ΠΈΠΌΠ΅Π½ΠΈ:
ΠΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡΡ ΠΏΠΎ Π²ΠΈΠ΄Ρ ΡΠΏΠΈΡΠΊΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ² using, ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½, Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΠ΅ΡΡ Ρ Windows.UI.Xaml, ΠΈΠ³ΡΠ°ΡΡ Π²Π°ΠΆΠ½ΡΡ ΡΠΎΠ»Ρ Π² ΡΠ°Π±ΠΎΡΠ΅ Windows Runtime.
ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Windows 8 API ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π° ΠΏΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°ΠΌ ΠΈΠΌΠ΅Π½. ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π½Π°ΠΉΡΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΊΠ»Π°ΡΡΠ° Page, ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΈΠΌΠ΅Π½, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΡΠΎΡ ΠΊΠ»Π°ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½, ΡΠΏΡΠΎΡΡΠΈΡ ΠΏΠΎΠΈΡΠΊ. ΠΠ°Π²Π΅Π΄ΠΈΡΠ΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΌΡΡΠΈ Π½Π° ΠΈΠΌΡ Page Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ MainPage.xaml.cs; Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅, ΡΡΠΎ ΠΊΠ»Π°ΡΡ Page Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΈΠΌΠ΅Π½ Windows.UI.Xaml.Controls (Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΆΠ°ΡΡ ΠΊΠ»Π°Π²ΠΈΡΡ F1 Π² Visual Studio Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠ° Π½Π° MSDN).
ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΊΠ»Π°ΡΡΠ° MainPage Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΌΠ΅ΡΠΎΠ΄ InitializeComponent() (ΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΌΡ Π²ΡΠΊΠΎΡΠ΅ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅).
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ partial Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΊΠ»Π°ΡΡΠ° MainPage. ΠΡΠΎ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ ΠΎΠ±ΡΡΠ½ΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ° ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΡΡΡ Π² Π΄ΡΡΠ³ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ C#. ΠΠ°ΠΊ Π²Ρ Π²ΡΠΊΠΎΡΠ΅ ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, Π² Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ Π΄Π΅Π»ΠΎ ΠΎΠ±ΡΡΠΎΠΈΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ°ΠΊ, ΠΎΠ΄Π½Π°ΠΊΠΎ Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΠ΅ΠΉ ΡΠ°ΡΡΡΡ ΠΊΠ»Π°ΡΡΠ° MainPage ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ Π΄ΡΡΠ³ΠΎΠΉ ΡΠ°ΠΉΠ» Ρ ΠΊΠΎΠ΄ΠΎΠΌ C#, Π° ΡΠ°ΠΉΠ» MainPage.xaml:
ΠΡΡΠΈΠ±ΡΡ x:Class ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΡΡΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ΅ ΡΠ°ΠΉΠ»Π° XAML. ΠΡΠΎΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ Π°ΡΡΠΈΠ±ΡΡ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ Β«ΠΊΠ»Π°ΡΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ MainPage Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΈΠΌΠ΅Π½ WinRTTestApp ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΠΉ ΠΎΡ PageΒ». ΠΠ½ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΡΠΎ ΠΆΠ΅, ΡΡΠΎ ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ° Π² ΡΠ°ΠΉΠ»Π΅ C#!
ΠΠ°Π»Π΅Π΅ ΡΠ»Π΅Π΄ΡΡΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ² ΠΈΠΌΠ΅Π½ XML. ΠΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΠΎ, ΡΡΠΈ URI Π½Π΅ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°ΡΡ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΠ°ΠΌ, Π° ΡΠ»ΡΠΆΠ°Ρ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ°ΠΌΠΈ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠΌΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΠΌΠΈ ΠΈΠ»ΠΈ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡΠΌΠΈ. ΠΠ΅ΡΠ²ΡΠ΅ Π΄Π²Π° ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π²Π°ΠΆΠ½Ρ:
ΠΠ΅ΡΠ²ΠΎΠ΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½ Π±Π΅Π· ΠΏΡΠ΅ΡΠΈΠΊΡΠ° ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ ΠΎΡΠΊΡΡΡΡΠΌ ΠΊΠ»Π°ΡΡΠ°ΠΌ, ΡΡΡΡΠΊΡΡΡΠ°ΠΌ ΠΈ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΡΠΌ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌ Π² Windows Runtime; Π² ΡΡΡ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡ Π²Ρ ΠΎΠ΄ΡΡ Π²ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈ Π²ΠΎΠΎΠ±ΡΠ΅ Π²ΡΠ΅, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΊΠ»ΡΡΠ°ΡΡΡΡ Π² ΡΠ°ΠΉΠ» XAML, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΊΠ»Π°ΡΡΡ Page ΠΈ Grid ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°. Π‘Π»ΠΎΠ²ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ (presentation) Π² URI ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΌΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ, ΠΈ ΡΡΠΎ ΠΎΡΠ»ΠΈΡΠ°Π΅Ρ Π΅Π³ΠΎ ΠΎΡ Π΄ΡΡΠ³ΠΈΡ ΡΠΈΠΏΠΎΠ² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΡ XAML. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ XAML Π΄Π»Ρ Windows Workflow Foundation (WF) Π² ΠΊΠΎΠ½ΡΠ΅ URI ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΡΠΎΡΠ»ΠΎ Π±Ρ ΡΠ»ΠΎΠ²ΠΎ Β«workflowΒ».
ΠΡΠΎΡΠΎΠ΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½ ΡΠ²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΏΡΠ΅ΡΠΈΠΊΡ Β«xΒ» Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΈ Π°ΡΡΠΈΠ±ΡΡΠ°ΠΌΠΈ, ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°ΡΠΈΠΌΠΈ XAML. Π’ΠΎΠ»ΡΠΊΠΎ Π΄Π΅Π²ΡΡΡ ΠΈΠ· Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ Windows Runtime; ΠΈ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, ΡΠ°ΠΌΡΠΌ Π²Π°ΠΆΠ½ΡΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ Π°ΡΡΠΈΠ±ΡΡ x:Class.
Π’ΡΠ΅ΡΡΠ΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Π΅Π΅:
ΠΠ½ΠΎ ΡΠ²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΏΡΠ΅ΡΠΈΠΊΡ XML local Ρ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎΠΌ ΠΈΠΌΠ΅Π½ WinRTTestApp Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡΠ»ΠΈ Π²Ρ ΡΠΎΠ·Π΄Π°Π΄ΠΈΡΠ΅ Π² ΡΠ²ΠΎΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΠΊΠ»Π°ΡΡΡ, Π΄Π»Ρ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ Π½ΠΈΠΌ Π² XAML Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΏΡΠ΅ΡΠΈΠΊΡ local. ΠΡΠ»ΠΈ Π²Π°ΠΌ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ ΠΊΠ»Π°ΡΡΠ°ΠΌ ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Π²Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ² ΠΈΠΌΠ΅Π½ XML Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΈΠΌΠ΅Π½ ΡΠ±ΠΎΡΠΎΠΊ ΠΈ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ² ΠΈΠΌΠ΅Π½ ΡΡΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ. ΠΠΎΠ·Π΄Π½Π΅Π΅ Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅, ΠΊΠ°ΠΊ ΡΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ.
ΠΡΡΠ°Π²ΡΠΈΠ΅ΡΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ² ΠΈΠΌΠ΅Π½ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Ρ Π΄Π»Ρ Microsoft Expression Blend. Expression Blend ΠΌΠΎΠΆΠ΅Ρ Π²ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠΊΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ Visual Studio; ΠΎΡΡΡΠ΄Π° Π°ΡΡΠΈΠ±ΡΡ ignorable, ΡΡΠ΅Π±ΡΡΡΠΈΠΉ Π΅ΡΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½. Π Π»ΡΠ±ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΈΠ· ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΡΡΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ ΡΡΡΠΎΠΊΠΈ ΠΊΠΎΡΠ½Π΅Π²ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Page ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ.
ΠΠ»Ρ Π²ΡΠ²ΠΎΠ΄Π° Π°Π±Π·Π°ΡΠ° ΡΠ΅ΠΊΡΡΠ° Π² Windows Runtime ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ TextBlock (Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΊΠ»Π°ΡΡ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΈΠΌΠ΅Π½ Windows.UI.Xaml.Controls). ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΠΌ ΡΠ»Π΅ΠΌΠ΅Π½Ρ TextBlock Π² Grid Ρ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠ΅ΠΉΠΊΠΎΠΉ ΠΈ Π½Π°Π·Π½Π°ΡΠΈΠΌ Π΅ΠΌΡ Π½Π°Π±ΠΎΡ Π°ΡΡΠΈΠ±ΡΡΠΎΠ². Π Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΡΠΈ Π°ΡΡΠΈΠ±ΡΡΡ ΡΠ²Π»ΡΡΡΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌΠΈ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΡΠΌΠΈ ΠΊΠ»Π°ΡΡΠΎΠΌ TextBlock:
ΠΠΎΡΡΠ΄ΠΎΠΊ ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ Π°ΡΡΠΈΠ±ΡΡΠΎΠ² ΡΠΎΠ»ΠΈ Π½Π΅ ΠΈΠ³ΡΠ°Π΅Ρ, ΠΊΠ°ΠΊ, ΡΠ°Π·ΡΠΌΠ΅Π΅ΡΡΡ, ΠΈ ΠΎΡΡΡΡΠΏΡ. ΠΡΠ»ΠΈ Π²Ρ ΠΎΡΠ΅Π½Ρ ΡΠΎΡΠΎΠΏΠΈΡΠ΅ΡΡ, Π²ΡΠ΅ Π°ΡΡΠΈΠ±ΡΡΡ, ΠΊΡΠΎΠΌΠ΅ Text, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΡΡΠΈΡΡ. Π ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π²Π²ΠΎΠ΄Π° ΡΠ΅ΠΊΡΡΠ° ΡΡΠ½ΠΊΡΠΈΡ Visual Studio IntelliSense ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΠΈΠΌΠ΅Π½Π° Π°ΡΡΠΈΠ±ΡΡΠΎΠ² ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. Π§Π°ΡΡΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ Π½ΡΠΆΠ½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ°. Π ΠΊΠΎΠ³Π΄Π° Π²Ρ Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΠ΅ Π²Π²ΠΎΠ΄ TextBlock, Π² ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ (ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ, design view) Visual Studio ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π²Π½Π΅ΡΠ½ΠΈΠΉ Π²ΠΈΠ΄ ΡΡΡΠ°Π½ΠΈΡΡ.
Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΠΎΠΉΡΠΈΡΡ Π²ΠΎΠΎΠ±ΡΠ΅ Π±Π΅Π· Π²Π²ΠΎΠ΄Π°, ΠΏΡΠΎΡΡΠΎ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΈΡΡ TextBlock ΠΈΠ· ΠΏΠ°Π»ΠΈΡΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Toolbox Π² Visual Studio, Π° Π·Π°ΡΠ΅ΠΌ Π·Π°Π΄Π°ΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° Π² ΡΠ°Π±Π»ΠΈΡΠ΅, Π½ΠΎ Ρ ΡΠ°ΠΊ ΠΏΠΎΡΡΡΠΏΠ°ΡΡ Π½Π΅ ΡΡΠ°Π½Ρ. ΠΡΠΎΡΠ΅ΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π±ΡΠ΄Π΅Ρ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΡΡ ΡΠ°ΠΊ, ΡΠ»ΠΎΠ²Π½ΠΎ ΠΌΡ Ρ Π²Π°ΠΌΠΈ Π²Π²ΠΎΠ΄ΠΈΠΌ ΠΊΠΎΠ΄ ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠΊΡ Ρ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ, ΠΊΠ°ΠΊ Π½Π°ΡΡΠΎΡΡΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ.
Π£ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° TextBlock Π΅ΡΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° Width ΠΈ Height, Π½ΠΎ ΠΎΠ±ΡΡΠ½ΠΎ Π·Π°Π΄Π°Π²Π°ΡΡ ΠΈΡ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ. ΠΠΎΠ»Π΅Π΅ ΡΠΎΠ³ΠΎ, Π·Π°Π΄Π°Π½ΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ² Width ΠΈ Height Π² ΡΡΠΎΠΌ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΎΡΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ°ΡΡΠΈ ΡΠ΅ΠΊΡΡΠ° ΠΈΠ»ΠΈ Π½Π°ΡΡΡΠ΅Π½ΠΈΡ Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠ° ΠΏΠΎ ΡΠ΅Π½ΡΡΡ ΡΡΡΠ°Π½ΠΈΡΡ. ΠΠ»Π΅ΠΌΠ΅Π½Ρ TextBlock ΡΠΌΠ΅Π΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΡΠ²ΠΎΠΈ ΡΠ°Π·ΠΌΠ΅ΡΡ Π»ΡΡΡΠ΅ Π²Π°Ρ.
Π§ΡΠΎΠ±Ρ Π·Π°Π²Π΅ΡΡΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π½Π°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ»Π°Π²ΠΈΡΠΈ Shift+F5 Π² Visual Studio ΠΈΠ»ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Stop Debugging Π² ΠΌΠ΅Π½Ρ Debug. ΠΡ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅, ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π±ΡΠ»Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π°, Π½ΠΎ ΠΈ ΡΡΠ°Π»Π° Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΉ Π½Π° Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΌ ΡΠΊΡΠ°Π½Π΅. ΠΡΠ»ΠΈ Π²Ρ ΡΠ°ΠΌΠΈ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΠΏΡΠΎΠ΅ΠΊΡ, ΠΏΠ»ΠΈΡΠΊΠ° Π²ΡΠ³Π»ΡΠ΄ΠΈΡ Π½Π΅ ΡΠ»ΠΈΡΠΊΠΎΠΌ Π²ΠΏΠ΅ΡΠ°ΡΠ»ΡΡΡΠ΅, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΏΠ»ΠΈΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Ρ ΡΠ°Π½ΡΡΡΡ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ Assets ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΡΠ°ΠΊ ΡΡΠΎ ΠΏΡΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΡΠ°ΡΠΈΡΡ ΠΈΡ . ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ Π²Π½Π΅ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ° Visual Studio ΠΏΡΡΠΌΠΎ Ρ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΊΡΠ°Π½Π° Windows 8.
ΠΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΠΈΠ΅
Π’ΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Β«Hello worldΒ» Π²ΡΠ²ΠΎΠ΄ΡΡ ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌ Π²ΠΈΠ΄Π΅, Π½ΠΎ ΡΡΠΎ Π½Π΅ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΠ°ΡΡΡΠΎΠ²ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Ρ ΠΌΠΎΠ΅Π³ΠΎ Π²Π΅Π±-ΡΠ°ΠΉΡΠ° ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΊΡΠΎΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ° ΡΠ°Π·ΠΌΠ΅ΡΠΊΠΈ XAML:
ΠΠ°Π³ΡΡΠ·ΠΊΠ° ΡΠ°ΡΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠ΅ΡΠΈ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π½Π°Π»ΠΈΡΠΈΡ ΡΠ΅ΡΠ΅Π²ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, ΠΈ Π΄Π°ΠΆΠ΅ ΠΏΡΠΈ Π΅Π³ΠΎ Π½Π°Π»ΠΈΡΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. Π§ΡΠΎΠ±Ρ Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°ΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, Π»ΡΡΡΠ΅ Π²ΠΊΠ»ΡΡΠΈΡΡ Π΅Π³ΠΎ Π² ΡΠ°ΠΌΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Windows Runtime ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠ΅ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠΎΡΠΌΠ°ΡΡ BMP, JPEG, PNG ΠΈ GIF, Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠ΅Π½Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠ΅ ΡΠΎΡΠΌΠ°ΡΡ. ΠΠ»Ρ ΡΠ°ΠΊΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠ°ΠΊ Π½Π°ΡΠ΅, ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΎΡΠΌΠ°Ρ PNG; ΡΠΎΡ ΡΠ°Π½ΠΈΡΠ΅ Π΅Π³ΠΎ ΠΏΠΎΠ΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ win8logo.png.
ΠΠ±ΡΡΠ½ΠΎ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠ°ΡΡΡΠΎΠ²ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ Images. Π ΠΎΠΊΠ½Π΅ Solution Explorer ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ Π½Π° ΠΈΠΌΠ΅Π½ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Add ΠΈ New Folder. (ΠΠ»ΠΈ Π΅ΡΠ»ΠΈ ΠΏΡΠΎΠ΅ΠΊΡ Π²ΡΠ΄Π΅Π»Π΅Π½ Π² Solution Explorer, Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ New Folder Π² ΠΌΠ΅Π½Ρ Project.) ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΠΈΠΌΡ ΠΏΠ°ΠΏΠΊΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Images.
Π€Π°ΠΉΠ» XAML ΡΠΎ ΡΡΡΠ»ΠΊΠΎΠΉ Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΡ ΠΎΠΆ Π½Π° Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» Π΄Π»Ρ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² ΠΠ½ΡΠ΅ΡΠ½Π΅ΡΠ΅:
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π² ΡΠ²ΠΎΠΉΡΡΠ²Π΅ Source ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΏΠ°ΠΏΠΊΠ° ΠΈ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π°. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°ΡΡ Ρ ΡΠ°Π½ΠΈΡΡ Π³ΡΠ°ΡΠΈΠΊΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, Π² ΠΏΠ°ΠΏΠΊΠ΅ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ Assets. Π ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ Π²ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΏΠ°ΠΏΠΊΠ° Assets Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ Π»ΠΎΠ³ΠΎΡΠΈΠΏΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ; Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π΅ Π΄Π»Ρ ΡΠ²ΠΎΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, Π²ΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΏΠ°ΠΏΠΊΡ.
C#/WinRT
ΠΠ±ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ C#/WinRT
C#/WinRT ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π² ΠΏΠ°ΠΊΠ΅ΡΠ΅ SDK Π΄Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π΄Π»Ρ Windows, Π²ΠΊΠ»ΡΡΠ°Ρ WinUI 3. ΠΠ°ΠΊΠ΅Ρ SDK Π΄Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π΄Π»Ρ Windows Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΠΈΠ· ΠΠ‘ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ ΠΠ°ΠΉΠΊΡΠΎΡΠΎΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½ΠΎΠ²Π΅ΠΉΡΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π² Windows 10 Π²Π΅ΡΡΠΈΠΈ 1809 ΠΈ Π²ΡΡΠ΅.
ΠΠΎΠ²ΠΎΠ΅
ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π²ΡΠΏΡΡΠΊΠΈ C#/WinRT ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ Π·Π°ΠΌΠ΅ΡΠΎΠΊ ΠΎ Π²ΡΠΏΡΡΠΊΠ΅ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ GitHub.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ ΡΠ±ΠΎΡΠΊΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ
Π‘ΡΡΠ»ΠΊΠ° Π½Π° ΡΠ±ΠΎΡΠΊΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ
ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π½Π° ΡΠ±ΠΎΡΠΊΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ C#/WinRT ΡΡΡΠ»Π°ΡΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΠ΄Π½Π°ΠΊΠΎ Π½Π° Π½ΠΈΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡΡ ΡΡΡΠ»Π°ΡΡΡΡ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΠ΅ ΡΠ±ΠΎΡΠΊΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ±ΠΎΡΠΊΠ° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ WinUI ΡΡΡΠ»Π°Π΅ΡΡΡ Π½Π° ΡΠ±ΠΎΡΠΊΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Windows SDK.
ΠΡΠ»ΠΈ Π²Ρ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΠ΅ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ WinRT Π±Π΅Π· ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ±ΠΎΡΠΊΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ, Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΡΠ°ΡΡΠ½ΡΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ² ΠΏΡΠΎΠ΅ΠΊΡΠΈΠΈ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ±ΠΎΡΠΊΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ. ΠΡ Π½Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ°ΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠΈΠΉ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΡΠΈΠΏΠ° Π² ΡΠ°ΠΌΠΊΠ°Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ°. ΠΠ»Ρ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ΅Π½ΠΈΡ ΡΠ°ΠΊΠΈΡ ΡΠΈΡΡΠ°ΡΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΏΠ°ΠΊΠ΅ΡΡ NuGet, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ ΠΏΠΎ ΡΡ Π΅ΠΌΠ΅ ΡΠ΅ΠΌΠ°Π½ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π²Π΅ΡΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΡΠ΅Π΄ΠΏΠΎΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΠ±ΠΎΡΠΊΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΡΡΠΎΡΠΎΠ½Π½Π΅Π³ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ.
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΡΠΈΠΏΠΎΠ² WinRT (ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ)
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΠΌ. Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΏΠΎ Π²ΡΡΡΠ°ΠΈΠ²Π°Π½ΠΈΡ C#/WinRT Π² Π½Π°ΡΠ΅ΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ.
ΠΠΊΡΠΈΠ²Π°ΡΠΈΡ ΡΠΈΠΏΠ° WinRT
C#/WinRT ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π°ΠΊΡΠΈΠ²Π°ΡΠΈΡ ΡΠΈΠΏΠΎΠ² WinRT, ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½Π½ΡΡ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ², Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Win2D. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π°ΠΊΡΠΈΠ²Π°ΡΠΈΠΈ ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Π² ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π²ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΏΡΡΠ΅ΠΌ Π°ΠΊΡΠΈΠ²Π°ΡΠΈΠΈ WinRT Π±Π΅Π· ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ, Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΉ Π² Windows 10 Π²Π΅ΡΡΠΈΠΈ 1903 ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½ΠΈΡ . ΠΡΠ»ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΡΠΎΠ·Π΄Π°Π½ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ Π΄Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ UWP, Π΄Π»Ρ Π½Π΅Π΅ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ ΠΏΠ°ΠΊΠ΅Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² ΠΏΠ΅ΡΠ΅ΡΡΠ»ΠΊΠΈ VCRT.
C#/WinRT ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ΅Π·Π΅ΡΠ²Π½ΡΠΉ ΠΏΡΡΡ Π°ΠΊΡΠΈΠ²Π°ΡΠΈΠΈ, Π΅ΡΠ»ΠΈ Windows Π½Π΅ ΡΠ΄Π°Π΅ΡΡΡ Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΈΠΏ, ΠΊΠ°ΠΊ ΠΎΠΏΠΈΡΠ°Π½ΠΎ Π²ΡΡΠ΅. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ C#/WinRT ΠΏΡΡΠ°Π΅ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ DLL ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΡΠΈΠΏΠ°, ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎ ΡΠ΄Π°Π»ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅Π·Π΅ΡΠ²Π½Π°Ρ Π»ΠΎΠ³ΠΈΠΊΠ° ΠΏΠΎΠΏΡΡΠ°Π΅ΡΡΡ Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΈΠΏ Contoso.Controls.Widget ΠΈΠ· ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΡ Π½ΠΈΠΆΠ΅ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ Π² ΡΠ°ΠΊΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ:
C#/WinRT ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ DLL ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠΉ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΠΏΠΎΠΈΡΠΊΠ° LoadLibrary. ΠΠ°ΠΊΠ΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎΠ³ΠΎ ΡΠΏΠΎΡΠΎΠ±Π°, Π½Π°ΡΡΠ΄Ρ Ρ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ DLL ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ.
Π Π°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΈ ΠΈΡ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅
ΠΡΠΈΠ±ΠΊΠ°: «Windows Metadata not provided or detected» (ΠΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅ Windows Π½Π΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Ρ ΠΈΠ»ΠΈ Π½Π΅ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½Ρ).
Error CS0246: The type or namespace name «Windows» could not be found (are you missing a using directive or an assembly reference?) (ΠΡΠΈΠ±ΠΊΠ° CS0246. ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ Π½Π°ΠΉΡΠΈ ΡΠΈΠΏ ΠΈΠ»ΠΈ ΠΈΠΌΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½ Windows (Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π° using ΠΈΠ»ΠΈ ΡΡΡΠ»ΠΊΠ° Π½Π° ΡΠ±ΠΎΡΠΊΡ)).
Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ ΠΈΠ»ΠΈ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π°ΡΡΠ΅Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ | ΠΡΠΈΡΠΈΠ½Π° |
---|---|
ΠΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ MSB3277. ΠΠ±Π½Π°ΡΡΠΆΠ΅Π½Ρ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π½ΡΠΌΠΈ Π²Π΅ΡΡΠΈΡΠΌΠΈ WinRT.Runtime ΠΈΠ»ΠΈ Microsoft.Windows.SDK.NET, ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ. | ΠΡΠΎ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΡΠ±ΠΎΡΠΊΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΏΡΠΈ ΡΡΡΠ»ΠΊΠ΅ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΈΠΏΡ Windows SDK Π½Π° ΡΠ²ΠΎΠ΅ΠΉ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠΈ API. |
ΠΡΠΈΠ±ΠΊΠ° CS1705. Π‘Π±ΠΎΡΠΊΠ° «AssemblyName1» ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ «TypeName» Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½Π΅ΠΉ Π²Π΅ΡΡΠΈΠΈ, ΡΠ΅ΠΌ ΡΠ±ΠΎΡΠΊΠ° «AssemblyName2», Π½Π° ΠΊΠΎΡΠΎΡΡΡ Π΄Π°Π΅ΡΡΡ ΡΡΡΠ»ΠΊΠ° | ΠΡΠ° ΠΎΡΠΈΠ±ΠΊΠ° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° ΡΠ±ΠΎΡΠΊΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΏΡΠΈ ΡΠΊΠ°Π·Π°Π½ΠΈΠΈ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠΈΠΏΠΎΠ² Windows SDK, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΡ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅. |
System.IO.FileLoadException | ΠΡΠ° ΠΎΡΠΈΠ±ΠΊΠ° ΡΡΠ΅Π΄Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ API Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΈΠΏΡ Windows SDK. |
ΠΠ·Π²Π΅ΡΡΠ½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ
ΠΠ·Π²Π΅ΡΡΠ½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΈ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΊΠ°Π·Π°Π½Ρ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ C#/WinRT Π² GitHub.
Π§ΡΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π² C++/WinRT
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΎΠΏΠΈΡΠ°Π½Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠ΅ Π² Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΡΡ C++/WinRT.
Π‘Π²ΠΎΠ΄ΠΊΠ° ΠΏΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡΠΌ ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΡΠΌ Π·Π° ΠΌΠ°ΡΡ 2020 Π³.
ΠΡΠ΅ΠΌΡ ΡΠ±ΠΎΡΠΊΠΈ ΡΠΎΠΊΡΠ°ΡΠΈΠ»ΠΎΡΡ Π½Π° 23 %
Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ C++/WinRT Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° C++ ΡΠ΄Π΅Π»Π°Π»ΠΈ Π²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ΅, ΡΡΠΎΠ±Ρ ΡΠΎΠΊΡΠ°ΡΠΈΡΡ Π²ΡΠ΅ΠΌΡ Π½Π° ΡΠ±ΠΎΡΠΊΡ. ΠΡ ΠΊΠΎΡΠΏΠ΅Π»ΠΈ Π½Π°Π΄ Π°Π½Π°Π»ΠΈΠ·ΠΎΠΌ ΡΠ°Π±ΠΎΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° Π² ΠΏΠΎΠΏΡΡΠΊΠ΅ ΠΏΠΎΠ½ΡΡΡ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΡΡΡΠΊΡΡΡΡ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² C++/WinRT, ΡΡΠΎΠ±Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ C++ Π±ΡΡΡΡΠ΅Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ» ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ, ΠΈ ΠΊΠ°ΠΊ ΡΠ»ΡΡΡΠΈΡΡ ΡΠ°Π±ΠΎΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° C++ Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ C++/WinRT. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΌΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π»ΠΈ C++/WinRT Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°, Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ β Π΄Π»Ρ C++/WinRT.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ°ΠΌΡΠΉ Ρ ΡΠ΄ΡΠΈΠΉ ΡΡΠ΅Π½Π°ΡΠΈΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° (PCH), ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π³ΠΎ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½ ΠΏΡΠΎΠ΅ΠΊΡΠΈΠΈ C++/WinRT.
ΠΠ΅ΡΡΠΈΡ | Π Π°Π·ΠΌΠ΅Ρ PCH (Π² Π±Π°ΠΉΡΠ°Ρ ) | ΠΡΠ΅ΠΌΡ (Ρ) |
---|---|---|
C++/WinRT (Π·Π° ΠΈΡΠ»Ρ) Ρ Visual C++ 16.3 | 3 004 104 632 | 31 |
C++/WinRT Π²Π΅ΡΡΠΈΠΈ 2.0.200316.3 Ρ Visual C++ 16.5 | 2 393 515 336 | 24 |
Π£ΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° 20 % ΠΈ ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΠ±ΠΎΡΠΊΠΈ Π½Π° 23 %
Π£Π»ΡΡΡΠ΅Π½Π½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° MSBuild
ΠΡ ΠΏΡΠΈΠ»ΠΎΠΆΠΈΠ»ΠΈ Π½Π΅ΠΌΠ°Π»ΠΎ ΡΡΠΈΠ»ΠΈΠΉ, ΡΡΠΎΠ±Ρ ΡΠ»ΡΡΡΠΈΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ MSBuild Ρ ΡΡΠ΅ΡΠΎΠΌ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π².
Π£ΡΠΊΠΎΡΠ΅Π½ΠΎ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°Π±ΡΠΈΠΊΠΈ
ΠΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π»ΠΈ ΠΌΠ΅ΡΠΎΠ΄ Π²ΡΡΡΠ°ΠΈΠ²Π°Π½ΠΈΡ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΡΠ΅ΠΉ Π² ΠΊΡΡΠ΅ ΡΠ°Π±ΡΠΈΠΊΠΈ, ΡΡΠΎΠ±Ρ ΡΡΠΊΠΎΡΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅.
ΡΡΠΎ ΡΠ»ΡΡΡΠ΅Π½ΠΈΠ΅ Π½Π΅ Π²Π»ΠΈΡΠ΅Ρ Π½Π° ΡΠ°Π·ΠΌΠ΅Ρ ΠΊΠΎΠ΄Π°, ΠΊΠ°ΠΊ ΠΎΠΏΠΈΡΠ°Π½ΠΎ Π½ΠΈΠΆΠ΅ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΊΠΎΠ΄ EH. Π΅ΡΠ»ΠΈ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΈΠ½ΡΠ΅Π½ΡΠΈΠ²Π½Π°Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ C++, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΆΠ°ΡΡ Π΄Π²ΠΎΠΈΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π²ΠΊΠ»ΡΡΠ΅Π½ Π² Π½ΠΎΠ²ΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Visual Studio 2019 16,3 ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½ΠΈΡ Π²Π΅ΡΡΠΈΠΉ.
ΠΠΎΠ²ΡΡΠ΅Π½Π° ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ-ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ
ΠΠΎΠ²ΡΡΠ΅Π½Π° ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ winrt::box_value ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ XAML (ΡΠΌ. ΡΡΠ°ΡΡΡ Π£ΠΏΠ°ΠΊΠΎΠ²ΠΊΠ°-ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠ°-ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΊΠ°Π»ΡΡΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π² IInspectable Ρ ΠΏΠΎΠΌΠΎΡΡΡ C++/WinRT). ΠΡ Π½Π°Π²Π΅ΡΠ½ΡΠΊΠ° Π·Π°ΠΌΠ΅ΡΠΈΡΠ΅ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΊΠΎΠ΄Π° Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ , ΡΠ°ΡΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΡ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΡ-ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅.
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ COM-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ², ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠΈΡ IInspectable
Π’Π΅ΠΏΠ΅ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ C++/WinRT Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ COM-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ (Π½Π΅ Π΄Π»Ρ ΡΡΠ΅Π΄Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Windows), ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ IInspectable. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΠΌ. Π² ΡΡΠ°ΡΡΠ΅ ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ COM-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ², ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠΈΡ IInspectable.
Π£Π»ΡΡΡΠ΅Π½ΠΈΡ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ
Π€ΡΠ½ΠΊΡΠΈΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΎΠΉ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΡΡΡΠ°Π½ΠΈΡΡ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΠΌ. Π² ΡΡΠ°ΡΡΠ΅ Π£Π»ΡΡΡΠ΅Π½ΠΈΡ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ.
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π²ΡΠ²ΠΎΠ΄Π° ΡΠ²Π΅Π΄Π΅Π½ΠΈΠΉ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ°Ρ , Π½Π΅ ΠΎΡΠ½ΠΎΡΡΡΠΈΡ ΡΡ ΠΊ ΡΡΠ΅Π΄Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Windows
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ API (Π΄Π°ΠΆΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ API ΡΡΠ΅Π΄Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Windows) ΡΠΎΠΎΠ±ΡΠ°ΡΡ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ°Ρ , Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ API Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ² ΠΎΡΠΈΠ±ΠΎΠΊ Π² ΡΡΠ΅Π΄Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Windows. ΠΠ»Ρ ΡΠ°ΠΊΠΈΡ ΡΠ»ΡΡΠ°Π΅Π² Π² C++/WinRT ΡΠ½ΠΎΠ²Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ COM-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π²ΡΠ²ΠΎΠ΄Π° ΡΠ²Π΅Π΄Π΅Π½ΠΈΠΉ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ°Ρ . Π‘ΠΌ. ΡΡΠ°ΡΡΡ ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ΅ Π² C++/WinRT Π²ΡΠ²ΠΎΠ΄Π° ΡΠ²Π΅Π΄Π΅Π½ΠΈΠΉ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ°Ρ , Π½Π΅ ΠΎΡΠ½ΠΎΡΡΡΠΈΡ ΡΡ ΠΊ WinRT.
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΌΠΎΠ΄ΡΠ»Ρ C++
ΠΠΎΠ΄ΡΠ»Ρ C++ ΡΠ½ΠΎΠ²Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ, Π½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅. ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠΎΠΊΠ° ΡΡΠΎ Π½Π΅ Π³ΠΎΡΠΎΠ²Π° Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° C++.
ΠΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ΅ Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΡ ΡΠΎΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ
Π C++/WinRT ΡΠΆΠ΅ Π½Π°Π»Π°ΠΆΠ΅Π½Π° ΡΠ°Π±ΠΎΡΠ° ΡΠΎΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, Π½ΠΎ ΠΌΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ ΠΈΡΠΊΠ°ΡΡ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΈΡ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ. Π‘ΠΌ. ΡΡΠ°ΡΡΡ Π£Π»ΡΡΡΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΡΡΠΈ ΠΏΡΠΈ Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ ΡΠ°Π±ΠΎΡΡ ΡΠΎΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ.
ΠΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΠ΅ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ when_all ΠΈ when_any
ΠΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ when_all ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ IAsyncAction, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΏΠΎΡΠ»Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ Π²ΡΠ΅Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΡ ΠΎΠΆΠΈΠ΄Π°ΡΡΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ. ΠΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ when_any ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ IAsyncAction, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΏΠΎΡΠ»Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ Π²ΡΠ΅Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΡ ΠΎΠΆΠΈΠ΄Π°ΡΡΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ.
Π‘ΠΌ. ΡΡΠ°ΡΡΠΈ ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΡ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ when_any ΠΈ when_all.
ΠΡΡΠ³ΠΈΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π² ΡΡΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΎΡΠΈΠ±ΠΎΠΊ, Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π° Π½Π΅ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΈ Π²Π½Π΅ΡΠ΅Π½Ρ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ ΠΎΡΠ»Π°Π΄ΠΊΠΈ, ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΉ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. ΠΠΎΠ»Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΡΠΌ. ΠΏΠΎ ΡΡΠΎΠΉ ΡΡΡΠ»ΠΊΠ΅: https://github.com/microsoft/xlang/pulls?q=is%3Apr+is%3Aclosed.
ΠΠΎΠ²ΠΎΡΡΠΈ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² C++/WinRT 2.0
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² C++/WinRT Visual Studio Extension (VSIX) Π΄Π»Ρ Π²Π΅ΡΡΠΈΠΈ 2.0
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΏΠ°ΠΊΠ΅ΡΠ΅ Microsoft.Windows.CppWinRT NuGet Π΄Π»Ρ Π²Π΅ΡΡΠΈΠΈ 2.0
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² C++/WinRT Π΄Π»Ρ Π²Π΅ΡΡΠΈΠΈ 2.0
ΠΡΠΊΡΡΡΡΠΉ ΠΊΠΎΠ΄
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ xlang
ΠΠ΅Π½ΡΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ
ΠΡΠ΅ ΡΡΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ DLL Π΄ΠΎΡΡΡΠΏΠ½Ρ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π² Windows 10, Π½ΠΎ ΠΈ Π² Π±ΠΎΠ»Π΅Π΅ ΡΠ°Π½Π½ΠΈΡ Π²Π΅ΡΡΠΈΡΡ Π²ΠΏΠ»ΠΎΡΡ Π΄ΠΎ Windows 7, Π° ΡΠ°ΠΊΠΆΠ΅ Π² Windows Vista. Π’Π΅ΠΏΠ΅ΡΡ ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ cppwinrt.exe Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² C++ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π½Π° ΡΡΠ°ΡΠΎΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΡΠ±ΠΎΡΠΊΠΈ ΠΏΠΎΠ΄ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Windows 7. ΠΡΠΈΠ»ΠΎΠΆΠΈΠ² Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠΈΠ»ΠΈΠΉ, ΠΌΠΎΠΆΠ½ΠΎ Π΄Π°ΠΆΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΡ C++/WinRT Π² Windows 7, Π΅ΡΠ»ΠΈ Π²Π°ΠΌ ΡΡΠΎ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ.
Π‘ΡΠ°Π²Π½ΠΈΡΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π²ΡΡΠ΅ ΡΠΏΠΈΡΠΎΠΊ Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠΌΠΈ cppwinrt.exe 1.0.
ΠΡΡΠΈΠ±ΡΡ ΡΡΠ΅Π΄Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Windows noexcept
C++/WinRT ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΡΠΎ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ, ΡΠΎΠ·Π΄Π°Π²Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ C++ noexcept ΠΊΠ°ΠΊ ΠΏΠΎΡΡΠ΅Π±Π»ΡΡΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°, ΡΠ°ΠΊ ΠΈ ΠΊΠΎΠ΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ Π±Π΅Π·ΠΎΡΠΊΠ°Π·Π½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΈΠ»ΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π° API, ΠΈ Π²Π°Ρ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΊΠΎΠ΄Π°, ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΡΡΠΎΡ Π°ΡΡΠΈΠ±ΡΡ.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°
C++/WinRT ΡΠ΅ΠΏΠ΅ΡΡ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ Π΅ΡΠ΅ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΉ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ C++, ΠΏΠΎΡΡΠΎΠΌΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ C++ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΡΠΉ ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΉ Π΄Π²ΠΎΠΈΡΠ½ΡΠΉ ΠΊΠΎΠ΄. ΠΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· ΡΠ»ΡΡΡΠ΅Π½ΠΈΠΉ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½Ρ Π½Π° ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π·Π°ΡΡΠ°Ρ Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ Π·Π° ΡΡΠ΅Ρ ΠΎΡΠΊΠ°Π·Π° ΠΎΡ Π½Π΅Π½ΡΠΆΠ½ΠΎΠΉ ΠΎΡΠΈΡΡΠΊΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ. ΠΠ»Ρ Π΄Π²ΠΎΠΈΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΡ Π±ΠΎΠ»ΡΡΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΌΡ ΠΊΠΎΠ΄Π° C++/WinRT, ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎΠ΅ ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΊΠΎΠ΄Π° ΡΠΎΡΡΠ°Π²ΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ 4 %. ΠΠΎΠ΄ ΡΠ°ΠΊΠΆΠ΅ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π΅Π½ (ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π±ΡΡΡΡΠ΅Π΅) Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΌΠ΅Π½ΡΡΠ΅ΠΌΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Ρ ΠΊΠΎΠΌΠ°Π½Π΄.
ΠΡΠΈ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ ΠΎΡΠ½ΠΎΠ²Π°Π½Ρ Π½Π° Π½ΠΎΠ²ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΡΡΡΠΏΠ½Π° Π΄Π»Ρ Π²Π°Ρ. ΠΡΠ΅ ΡΠΈΠΏΡ C++/WinRT, ΡΠ²Π»ΡΡΡΠΈΠ΅ΡΡ Π²Π»Π°Π΄Π΅Π»ΡΡΠ°ΠΌΠΈ ΡΠ΅ΡΡΡΡΠΎΠ², ΡΠ΅ΠΏΠ΅ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ Π΄Π»Ρ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π²Π»Π°Π΄Π΅Π»ΡΡΠ° Π½Π°ΠΏΡΡΠΌΡΡ, Π²ΠΌΠ΅ΡΡΠΎ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ Π΄Π²ΡΡ ΡΡΠ°ΠΏΠ½ΠΎΠΉ ΡΡ Π΅ΠΌΡ.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ (EH)
ΠΡΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠ°Π±ΠΎΡΡ, ΠΏΡΠΎΠ΄Π΅Π»Π°Π½Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΎΡΠΎΠ² Microsoft C++, ΡΡΠΎΠ±Ρ ΡΠ½ΠΈΠ·ΠΈΡΡ Π·Π°ΡΡΠ°ΡΡ Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ. ΠΡΠ»ΠΈ Π² ΡΠ²ΠΎΠ΅ΠΌ ΠΊΠΎΠ΄Π΅ Π²Ρ ΠΈΠ½ΡΠ΅Π½ΡΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π΄Π²ΠΎΠΈΡΠ½ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ (ABI) (ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ COM), ΡΠΎ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅, ΡΡΠΎ ΡΡΠΎΡ ΡΠ°Π±Π»ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠ°ΡΡΠΎ.
C++/WinRT Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΡΡΠΎΡ ΡΠ°Π±Π»ΠΎΠ½ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ API. ΠΡΠΈ Π½Π°Π»ΠΈΡΠΈΠΈ ΡΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ API Π»ΡΠ±Π°Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠΉ. Π ΠΏΡΠΎΡΠ»ΠΎΠΌ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΎΡ Π½Π΅ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°Π», ΡΡΠΎ Π²ΡΠ΅ Π±Π»ΠΎΠΊΠΈ catch ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½Ρ, ΠΏΠΎΡΡΠΎΠΌΡ Π΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°Π» Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠ΄Π° ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ABI (ΡΡΠΎ, Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, ΡΠΏΠΎΡΠΎΠ±ΡΡΠ²ΠΎΠ²Π°Π»ΠΎ ΡΠ±Π΅ΠΆΠ΄Π΅Π½ΠΈΡ, ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ Π² ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π±ΠΎΠ»ΡΡΠΈΡ Π΄Π²ΠΎΠΈΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²). ΠΠ΄Π½Π°ΠΊΠΎ, Π½Π°ΡΠΈΠ½Π°Ρ Ρ Visual Studio 2019, ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ C++ ΡΠ²ΠΎΡΠ°ΡΠΈΠ²Π°Π΅Ρ Π²ΡΠ΅ ΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ catch ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ²Π»ΡΡΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΠ°Π·ΠΌΠ΅Ρ ΠΊΠΎΠ΄Π° Π΄Π»Ρ Π΄Π²ΠΎΠΈΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π² Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ Π·Π°Π²ΠΈΡΡΡ ΠΎΡ ΡΡΠΎΠ³ΠΎ ΡΠ°Π±Π»ΠΎΠ½Π°, Π±ΡΠ΄Π΅Ρ Π² ΡΠ΅Π»ΠΎΠΌ ΡΠΎΠΊΡΠ°ΡΠ΅Π½ Π½Π° 18%. Π’Π΅ΠΏΠ΅ΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠ΄ EH Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π΅Π½, ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄ΠΎΠ² Π²ΠΎΠ·Π²ΡΠ°ΡΠ°, Π½ΠΎ ΠΈ ΡΡΠ»Π° Π² ΠΏΡΠΎΡΠ»ΠΎΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π±ΠΎΠ»ΡΡΠΈΡ Π΄Π²ΠΎΠΈΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ².
Π£Π»ΡΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠ±Π°Π²ΠΎΡΠ½ΠΎΠΉ ΡΠ±ΠΎΡΠΊΠΈ
ΠΠ½ΡΡΡΡΠΌΠ΅Π½Ρ cppwinrt.exe ΡΠ΅ΠΏΠ΅ΡΡ ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅Ρ Π²ΡΡ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° / ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΡΠΌ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΡΠ°ΠΉΠ»Π° Π½Π° Π΄ΠΈΡΠΊΠ΅ ΠΈ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅Ρ ΡΠ°ΠΉΠ», ΡΠΎΠ»ΡΠΊΠΎ Π΅ΡΠ»ΠΈ ΡΠ°ΠΉΠ» Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΡΡ. ΠΡΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ Π²ΡΠ΅ΠΌΡ Π½Π° Π΄ΠΈΡΠΊΠΎΠ²ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΡ Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π° ΠΈ Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ, ΡΡΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ C++ Π½Π΅ ΡΡΠΈΡΠ°Π΅Ρ ΡΠ°ΠΉΠ»Ρ «Π³ΡΡΠ·Π½ΡΠΌΠΈ». Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΠ»ΡΡΠ°ΡΡ ΠΏΠΎΠ²ΡΠΎΡΠ½Π°Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΠΈΡΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΈΠ»ΠΈ ΡΠΌΠ΅Π½ΡΡΠ°Π΅ΡΡΡ.
Π’Π΅ΠΏΠ΅ΡΡ ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ
ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ²
Π£Π½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½Π°Ρ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΈ ΠΏΡΡΠΌΠΎΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ
ΠΡΠΈ Π΄Π²Π΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π²Π°ΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΈΠΌΠ΅ΡΡ ΠΏΡΡΠΌΠΎΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ Π΅Π³ΠΎ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΌ ΡΠΈΠΏΠ°ΠΌ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΡΠ΅ΠΌΡΠ΅ ΡΠΈΠΏΡ. ΠΠ΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ make, make_self ΠΈΠ»ΠΈ get_self, Π΅ΡΠ»ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠΎΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΠ΅Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΠΎΠ±Π»Π°ΡΡΡ API. ΠΠ°ΡΠΈ Π·Π²ΠΎΠ½ΠΊΠΈ Π±ΡΠ΄ΡΡ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Ρ Π΄Π»Ρ ΠΏΡΡΠΌΡΡ Π·Π²ΠΎΠ½ΠΊΠΎΠ² Π² ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ, ΠΎΠ½ΠΈ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡΡ Π΄Π°ΠΆΠ΅ Π±ΡΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΌΠΈ.
ΠΠ°ΡΠΈΡΠ°Π΅ΠΌΡΠ΅ ΡΠΈΠΏΡ ΡΠ°Π±ΡΠΈΠΊ
Π£ΠΌΠ½Π΅Π΅ ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½Π΅Π΅ module.g.cpp Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠΎΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ
ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ β DispatcherQueue.
Π‘ΠΏΡΠ°Π²ΠΊΠ° ΠΏΠΎ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠ΅ ΠΏΡΡΠΌΠΎΠ³ΠΎ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ (Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΡΡΠ΅ΠΊΠ°)
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΈΠΌΠ΅Π½Π° ΠΏΡΠΎΠ³Π½ΠΎΠ·ΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΠΈ ΠΊΠ»Π°ΡΡΠ° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ) ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ ΠΈ ΡΠ°Π·Π»ΠΈΡΠ°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Ρ ΠΈΠΌΠ΅Π½, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΈΠ±ΠΎΡΠ½ΠΎ ΠΏΡΠΈΠ½ΡΡΡ ΠΎΠ΄Π½ΠΎ Π·Π° Π΄ΡΡΠ³ΠΎΠ΅ ΠΈ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π² ΡΡΠ΅ΠΊΠ΅ Π²ΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²ΠΎ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ make. Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ»ΡΡΠ°ΡΡ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΡΡΠ΄Π½ΠΎ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ½ΠΈΡΡΠΎΠΆΠ΅Π½, ΠΏΠΎΠΊΠ° Π²ΡΠ΄Π°ΡΡΠΈΠ΅ΡΡ ΡΡΡΠ»ΠΊΠΈ Π²ΡΠ΅ Π΅ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ. Π’Π΅ΠΏΠ΅ΡΡ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ Π²ΡΠ±ΠΈΡΠ°Π΅Ρ Π΅Π³ΠΎ Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΡΡ ΡΠ±ΠΎΡΠΎΠΊ. Π₯ΠΎΡΡ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ° Π²Π½ΡΡΡΠΈ ΡΠΎΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠ΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΎΠ½ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°ΡΡ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΠ°ΠΊΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ.
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΠΌ. Π² ΡΡΠ°ΡΡΠ΅ Diagnosing direct allocations (ΠΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠ° ΠΏΡΡΠΌΡΡ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠΉ).
Π£Π»ΡΡΡΠ΅Π½Π½ΡΠ΅ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π·Π°Ρ Π²Π°ΡΠ° ΠΈ Π΄Π΅Π»Π΅Π³Π°ΡΡ variadic
ΠΡΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΡΡΡΠ°Π½ΡΠ΅Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π·Π°Ρ Π²Π°ΡΠ°, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΡΠ΅ΠΌΡΠ΅ ΡΠΈΠΏΡ. ΠΡΠ΅ΠΌΡ ΠΎΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Ρ API Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΡΡΠ΅Π΄Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Windows, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΡΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠΈΠΏ.
ΠΡΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ get_strong ΠΈ get_weak ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π΄Π΅Π»Π΅Π³Π°ΡΠ° variadic (Π½Π΅ Π΄Π»Ρ ΡΡΠ΅Π΄Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Windows).
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π΄Π»Ρ ΠΎΡΠ»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠ³ΠΎ QI Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ½ΠΈΡΡΠΎΠΆΠ΅Π½ΠΈΡ
ΠΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠ°ΡΡΠΎ Π΄Π΅ΡΡΡΡΠΊΡΠΎΡ Π΄Π»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΊΠ»Π°ΡΡΠ° ΡΡΠ΅Π΄Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΌΠ΅ΡΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ΅ΡΡΠΈΠΊΠ° ΡΡΡΠ»ΠΎΠΊ. ΠΠΎΠ³Π΄Π° ΡΡΠ΅ΡΡΠΈΠΊ ΡΡΡΠ»ΠΎΠΊ ΡΠ±ΡΠ°ΡΡΠ²Π°Π΅ΡΡΡ Π΄ΠΎ Π½ΡΠ»Ρ, ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠ½ΠΈΡΡΠΎΠΆΠ°Π΅ΡΡΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ. Π ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ XAML Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π² Π΄Π΅ΡΡΡΡΠΊΡΠΎΡΠ΅ QueryInterface (QI), ΡΡΠΎΠ±Ρ Π²ΡΠ·Π²Π°ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΎΡΠΈΡΡΠΊΠΈ Π²Π²Π΅ΡΡ ΠΈΠ»ΠΈ Π²Π½ΠΈΠ· ΠΏΠΎ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΈ. ΠΠΎ ΡΡΠ΅ΡΡΠΈΠΊ ΡΡΡΠ»ΠΎΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΠΆΠ΅ ΡΠ±ΡΠΎΡΠΈΠ»ΡΡ Π΄ΠΎ Π½ΡΠ»Ρ, ΠΏΠΎΡΡΠΎΠΌΡ QI ΡΠΎΠΆΠ΅ ΡΡΠΈΡΠ°Π΅ΡΡΡ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΡΠ΅ΡΡΠΈΠΊΠ° ΡΡΡΠ»ΠΎΠΊ.
ΠΡΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ°ΡΡ Π»ΠΎΠΆΠ½ΡΠ΅ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π½ΠΈΡ ΡΡΠ΅ΡΡΠΈΠΊΠ° ΡΡΡΠ»ΠΎΠΊ, Π³Π°ΡΠ°Π½ΡΠΈΡΡΡ, ΡΡΠΎ ΠΏΠΎΡΠ»Π΅ ΡΠ±ΡΠ°ΡΡΠ²Π°Π½ΠΈΡ Π΄ΠΎ Π½ΡΠ»Ρ Π΅Π³ΠΎ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ. Π’Π°ΠΊ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ QI Π΄Π»Ρ Π»ΡΠ±ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ½ΠΈΡΡΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡΠ° ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° Π½Π΅ΠΈΠ·Π±Π΅ΠΆΠ½Π° Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ /ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ XAML, ΠΈ C++/WinRT ΡΠ΅ΠΏΠ΅ΡΡ ΡΡΡΠΎΠΉΡΠΈΠ² ΠΊ Π½Π΅ΠΉ.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠ»ΠΎΠΆΠΈΡΡ ΡΠ½ΠΈΡΡΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΠΊΠ°Π·Π°Π² ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΡΡ ΡΡΠ½ΠΊΡΠΈΡ final_release Π² ΡΠΈΠΏΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ. ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΎΡΡΠ°Π²ΡΠΈΠΉΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡ Π² Π²ΠΈΠ΄Π΅ std::unique_ptr ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ Π² final_release. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π²Π»Π°Π΄Π΅Π½ΠΈΠ΅ ΡΠ°ΠΊΠΈΠΌ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΌ Π΄ΡΡΠ³ΠΎΠΌΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΡ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ QI Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΌ Π±Π΅Π· Π²ΡΠ·ΠΎΠ²Π° Π΄Π²ΠΎΠΉΠ½ΠΎΠ³ΠΎ ΡΠ½ΠΈΡΡΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠΎ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ½ΠΈΡΡΠΎΠΆΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΠΈΡΡΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΡΡΠΈΠΊΠ° ΡΡΡΠ»ΠΎΠΊ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΡΠ°Π²Π½ΠΎ Π½ΡΠ»Ρ.
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΠΎΡΠ»Π΅ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΡ MainPage (Π΄Π»Ρ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ) Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ final_release. ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΡΡΠ°ΡΠΈΡ ΠΏΡΡΡ ΡΠ΅ΠΊΡΠ½Π΄ Π½Π° ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ (Π² ΠΏΡΠ»Π΅ ΠΏΠΎΡΠΎΠΊΠΎΠ²), Π° Π·Π°ΡΠ΅ΠΌ Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ ΡΠ°Π±ΠΎΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΠΈΡΠΏΠ΅ΡΡΠ΅Ρ ΡΡΡΠ°Π½ΠΈΡΡ (Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ QI/AddRef/Release). ΠΠ°ΡΠ΅ΠΌ ΠΎΠ½Π° ΡΠ΄Π°Π»ΡΠ΅Ρ ΡΠ΅ΡΡΡΡ Π² ΡΠ°ΠΊΠΎΠΌ ΠΏΠΎΡΠΎΠΊΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°. ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΎΠ½Π° ΠΎΡΠΈΡΠ°Π΅Ρ unique_ptr, ΡΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΌΡ Π²ΡΠ·ΠΎΠ²Ρ Π΄Π΅ΡΡΡΡΠΊΡΠΎΡΠ° MainPage. ΠΠ°ΠΆΠ΅ Π² ΡΠ°ΠΊΠΎΠΌ Π΄Π΅ΡΡΡΡΠΊΡΠΎΡΠ΅ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ DataContext, ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΠ΅Π±ΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ QI Π΄Π»Ρ IFrameworkElement.
ΠΠ°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ final_release Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠΎΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠΎ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ ΠΏΠ΅ΡΠ΅Π½Π΅ΡΡΠΈ ΡΠ½ΠΈΡΡΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² Π΄ΡΡΠ³ΠΎΠΉ ΠΏΠΎΡΠΎΠΊ, ΡΡΠΎ ΠΈ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π² ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅.
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΠΌ. Π² ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΡΠ»ΠΎΠΆΠ΅Π½Π½ΠΎΠ΅ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅.
Π£Π»ΡΡΡΠ΅Π½ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ Π΅Π΄ΠΈΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ Π² ΡΡΠΈΠ»Π΅ COM
ΠΠ°ΠΊ ΠΈ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ΅Π΄Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Windows, C++/WinRT ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² API ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ COM. ΠΡΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ COM-ΡΠ΅ΡΠ²Π΅Ρ, Π³Π΄Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°. ΠΡΠΎ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΡΠ΅Π΄Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Windows; Π½ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π»Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΉ COM.
ΠΡΠ°Π²ΠΈΠ»ΡΠ½Π°Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² out
ΠΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ out ; ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ ΡΡΠ΅Π΄Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Windows. Π‘ ΡΡΠΈΠΌ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ C++/WinRT Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π±ΠΎΠ»Π΅Π΅ Π½Π°Π΄Π΅ΠΆΠ½ΡΠΉ ΠΈ ΡΡΡΠΎΠΉΡΠΈΠ² ΠΊ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌ, ΠΊΠΎΠ³Π΄Π° ΡΠ΅ΡΡ ΠΈΠ΄Π΅Ρ ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°Ρ ΠΈ ΠΌΠ°ΡΡΠΈΠ²Π°Ρ out ; Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΏΠΎΡΡΡΠΏΠ°ΡΡ Π»ΠΈ ΡΡΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠ΅ΡΠ΅Π· ΡΠ·ΡΠΊΠΎΠ²ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡ ΠΈΠ»ΠΈ ΠΎΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° COM, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π½Π΅ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΠΉ ABI ΠΈ ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ²Π΅ΡΡΠ°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ, Π½Π΅ ΡΠΎΠ³Π»Π°ΡΠΎΠ²ΡΠ²Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ. Π Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ C++/WinRT ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΠΎΡΡΡΠΏΠ°Π΅Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ, ΠΊΠΎΠ³Π΄Π° Π΄Π΅Π»ΠΎ Π΄ΠΎΡ ΠΎΠ΄ΠΈΡ Π΄ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΡΠ΅ΠΌΡΡ ΡΠΈΠΏΠΎΠ² Π² ABI (Π½Π΅ Π·Π°Π±ΡΠ²Π°Ρ Π²ΡΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°ΡΡ Π»ΡΠ±ΡΠ΅ ΡΠ΅ΡΡΡΡΡ) ΠΈ ΠΊΠΎΠ³Π΄Π° ΡΠ΅ΡΡ ΠΈΠ΄Π΅Ρ ΠΎΠ± ΠΎΠ±Π½ΡΠ»Π΅Π½ΠΈΠΈ ΠΈΠ»ΠΈ ΠΎΡΠΈΡΡΠΊΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², ΠΏΠΎΡΡΡΠΏΠ°ΡΡΠΈΡ ΡΡΡΠΎΠΊΡ ABI.
Π‘ΠΎΠ±ΡΡΠΈΡ ΡΠ΅ΠΏΠ΅ΡΡ Π½Π°Π΄Π΅ΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠ΅ ΡΠΎΠΊΠ΅Π½Ρ
Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ winrt::event ΡΠ΅ΠΏΠ΅ΡΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΡΠ΅Π³ΠΈΡΡΡ, ΠΊΠΎΠ³Π΄Π° Π΅Π³ΠΎ ΠΌΠ΅ΡΠΎΠ΄ remove Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ Ρ Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΎΠΊΠ΅Π½Π° (Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ, ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½Π΅Ρ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅).
ΠΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠΎΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ΅ΠΏΠ΅ΡΡ ΡΠ½ΠΈΡΡΠΎΠΆΠ°ΡΡΡΡ Π΄ΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½ΠΈΡ ΡΠΎΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
Π’ΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΈΠΏΠ° ΡΠΎΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡΡ ΡΠ½ΠΈΡΡΠΎΠΆΠ΅Π½ΠΈΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π²Π½ΡΡΡΠΈ ΡΠΎΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠΎΡΠ»Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ° ΠΈΠ»ΠΈ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΎΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ (Π° Π½Π΅ Π΄ΠΎ ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΏΡΠΈΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ). ΠΠΎΠ·ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΡ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΎΡΠΈΡΠΈΠ°Π½ΡΠ° ΡΠ΅ΠΏΠ΅ΡΡ ΠΎΡΠ»ΠΎΠΆΠ΅Π½ΠΎ Π΄ΠΎ ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΎΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ, ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°.
ΠΠΎΠ²ΠΎΡΡΠΈ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΏΠ°ΠΊΠ΅ΡΠ΅ SDK Π΄Π»Ρ Windows Π²Π΅ΡΡΠΈΠΈ 10.0.17763.0 (Windows 10, Π²Π΅ΡΡΠΈΡ 1809)
Π’Π°Π±Π»ΠΈΡΠ° Π½ΠΈΠΆΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π½ΠΎΠ²ΠΎΡΡΠΈ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π΄Π»Ρ C++/WinRT Π² ΠΏΠ°ΠΊΠ΅ΡΠ΅ SDK Π΄Π»Ρ Windows Π²Π΅ΡΡΠΈΠΈ 10.0.17763.0 (Windows 10, Π²Π΅ΡΡΠΈΡ 1809).
ΠΠΎΠ²ΡΠ΅ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ | ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ |
---|---|
ΠΡΠΈΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅. ΠΠ»Ρ Π΅Π³ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ C++/WinRT Π½Π΅ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² ΠΈΠ· ΠΏΠ°ΠΊΠ΅ΡΠ° SDK Π΄Π»Ρ Windows. | Π‘ΠΌ. ΡΡΠ°ΡΡΡ ΠΠ·ΠΎΠ»ΡΡΠΈΡ ΠΈΠ· ΡΠ°ΠΉΠ»ΠΎΠ² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² ΠΏΠ°ΠΊΠ΅ΡΠ° SDK Π΄Π»Ρ Windows Π½ΠΈΠΆΠ΅. |
Π€ΠΎΡΠΌΠ°Ρ ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° Visual Studio ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΡΡ. | Π‘ΠΌ. ΡΡΠ°ΡΡΡ ΠΠ°ΠΊ ΠΏΠ΅ΡΠ΅Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΏΡΠΎΠ΅ΠΊΡ C++/WinRT Π½Π° Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½ΡΡ Π²Π΅ΡΡΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠ° SDK Π΄Π»Ρ Windows Π½ΠΈΠΆΠ΅. |
Π‘ΡΡΠ΅ΡΡΠ²ΡΡΡ Π½ΠΎΠ²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΠΊΠ»Π°ΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΌΠΎΠ³ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ Π² ΡΡΠ½ΠΊΡΠΈΡ ΡΡΠ΅Π΄Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Windows ΠΈΠ»ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΈ ΡΠΈΠΏΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ. | Π‘ΠΌ. ΡΠ°Π·Π΄Π΅Π» ΠΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΠΈΠ· C++/WinRT. |
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠΊΠΈ ΡΠΎ ΡΠ²ΠΎΠΈΠΌΠΈ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ ΡΡΠ΅Π΄Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ C++/WinRT. | ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΊΠΎΠ΄Π° ΡΠΌ. Π² ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΠ±ΡΠΈΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ΅ Π΄Π°Π½Π½ΡΡ . |
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΎΡΠΌΠ΅Π½Ρ ΡΠΎΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ² ΠΎΡΠΌΠ΅Π½Ρ. | ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΊΠΎΠ΄Π° ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΡΠΌΠ΅Π½Π° Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ ΠΎΡΠΌΠ΅Π½Ρ. |
ΠΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π΄Π΅Π»Π΅Π³Π°ΡΠ°, ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΠ΅Π³ΠΎ Π½Π° ΡΡΠ½ΠΊΡΠΈΡ-ΡΠ»Π΅Π½, ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠΈΠ»ΡΠ½ΡΡ ΠΈΠ»ΠΈ ΡΠ»Π°Π±ΡΡ ΡΡΡΠ»ΠΊΡ Π½Π° ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ (Π²ΠΌΠ΅ΡΡΠΎ Π½Π΅ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠ³ΠΎ ΡΡΠΎΠ³ΠΎ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ) Π² ΡΠΎΡΠΊΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°. | ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΊΠΎΠ΄Π° ΡΠΌ. Π² ΠΏΠΎΠ΄ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ-ΡΠ»Π΅Π½ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠΎΠ΄ΡΠ°Π·Π΄Π΅Π»Π° Π΄Π΅Π»Π΅Π³Π°ΡΠ° ΡΠ°Π·Π΄Π΅Π»Π° ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊΡΡΠΎΠΌΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Ρ Π΄Π΅Π»Π΅Π³Π°ΡΠΎΠΌ Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ ΡΠΎΠ±ΡΡΠΈΠΉ. |
ΠΡΠΏΡΠ°Π²Π»Π΅Π½Ρ ΠΎΡΠΈΠ±ΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½Ρ ΡΠ»ΡΡΡΠ΅Π½Π½ΡΠΌ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ΠΌ Visual Studio ΡΡΠ°Π½Π΄Π°ΡΡΡ C++. ΠΠ°Π±ΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² LLVM ΠΈ Clang ΡΠ°ΠΊΠΆΠ΅ Π»ΡΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ°ΠΌ C++/WinRT. | ΠΡ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ ΡΡΠΎΠ»ΠΊΠ½Π΅ΡΠ΅ΡΡ Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ, ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠΉ Π² ΡΡΠ°ΡΡΠ΅ ΠΠΎΡΠ΅ΠΌΡ ΠΌΠΎΠΉ Π½ΠΎΠ²ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ Π½Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ? Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Visual Studio 2017 (Π²Π΅ΡΡΠΈΠΈ 15.8.0 ΠΈΠ»ΠΈ Π²ΡΡΠ΅) ΠΈ ΠΏΠ°ΠΊΠ΅Ρ SDK Π²Π΅ΡΡΠΈΠΈ 17134 |
ΠΠ°ΠΆΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π±ΡΠ»ΠΈ Π²Π½Π΅ΡΠ΅Π½Ρ Π² ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ C++/WinRT Visual Studio (VSIX), ΠΊΠ°ΠΊ Π² Π²Π΅ΡΡΠΈΠΈ 1.0.181002.2, ΡΠ°ΠΊ ΠΈ ΠΏΠΎΠ·ΠΆΠ΅ Π² Π²Π΅ΡΡΠΈΠΈ 1.0.190128.4. ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎΠ± ΡΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΡ ΠΈ ΠΈΡ Π²Π»ΠΈΡΠ½ΠΈΠΈ Π½Π° ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡ, Visual Studio ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ C++/WinRT ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠ°Π½Π½ΠΈΡ Π²Π΅ΡΡΠΈΠΉ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ VSIX.
ΠΠ·ΠΎΠ»ΡΡΠΈΡ ΠΈΠ· ΡΠ°ΠΉΠ»ΠΎΠ² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² ΠΏΠ°ΠΊΠ΅ΡΠ° SDK Π΄Π»Ρ Windows
ΠΡΠΎ β ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΊΠΎΠ΄Π°.
ΠΠ»Ρ Π΅Π³ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ C++/WinRT Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² ΠΈΠ· ΠΏΠ°ΠΊΠ΅ΡΠ° SDK Π΄Π»Ρ Windows. Π€Π°ΠΉΠ»Ρ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ ΡΡΠ΅Π΄Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ C (CRT) ΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² C++ (STL) ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² ΠΏΠ°ΠΊΠ΅ΡΠ° SDK Π΄Π»Ρ Windows. ΠΡΠΎ ΡΠ»ΡΡΡΠ°Π΅Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ°ΠΌ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Π½Π΅ΠΏΡΠ΅Π΄Π½Π°ΠΌΠ΅ΡΠ΅Π½Π½ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ ΠΈ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΌΠ΅Π½ΡΡΠ°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΌΠ°ΠΊΡΠΎΡΠΎΠ², ΠΎΡ ΠΊΠΎΡΠΎΡΡΡ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Π·Π°ΡΠΈΡΠ°ΡΡΡΡ.
ΠΡΠ° Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ C++/WinRT ΡΠ΅ΠΏΠ΅ΡΡ ΡΡΠ°Π» Π±ΠΎΠ»Π΅Π΅ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠ½ΡΠΌ ΠΈ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΠΌ ΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ°ΠΌΠΈ, Π° ΡΡΠΎ ΡΠ°ΡΡΠΈΡΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π΅Π³ΠΎ ΠΏΡΠ΅Π²ΡΠ°ΡΠ΅Π½ΠΈΡ Π² ΠΊΡΠΎΡΡ-ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΈ ΠΊΡΠΎΡΡΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ. ΠΡΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ C++/WinRT Π½Π΅ ΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π΅Π³Π°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ Π²Π»ΠΈΡΠ½ΠΈΡ Π½Π° ΠΌΠ°ΠΊΡΠΎΡΡ.
ΠΡΠ»ΠΈ Π²Ρ ΡΠ°Π½Π΅Π΅ ΠΎΡΡΠ°Π²ΠΈΠ»ΠΈ C++/WinRT Π΄Π»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π»ΡΠ±ΡΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² Windows Π² ΡΠ²ΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ, ΡΠΎ ΡΠ΅ΠΏΠ΅ΡΡ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π²ΠΊΠ»ΡΡΠΈΡΡ ΠΈΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ. ΠΡΠΈ ΡΠ°ΠΊΠΈΡ ΠΎΠ±ΡΡΠΎΡΡΠ΅Π»ΡΡΡΠ²Π°Ρ Π²ΡΠ΅Π³Π΄Π° Π»ΡΡΡΠ΅ ΡΠ²Π½ΠΎ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ, ΠΎΡ ΠΊΠΎΡΠΎΡΡΡ Π²Ρ Π·Π°Π²ΠΈΡΠΈΡΠ΅, ΠΈ Π½Π΅ ΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΈΡ Π΄Π»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π² Π΄ΡΡΠ³ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅.
Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΌΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡΠΌΠΈ Π΄Π»Ρ ΠΈΠ·ΠΎΠ»ΡΡΠΈΠΈ ΡΠ°ΠΉΠ»Π° Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΠΏΠ°ΠΊΠ΅ΡΠ° SDK Π΄Π»Ρ Windows ΡΠ²Π»ΡΡΡΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΡΠΈΡΠ»ΠΎΠ²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΠ΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ ΡΡΠΈΠΌΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌΠΈ ΠΎΡΡΠ°Π²ΡΠΈΠΌΠΈΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠΌΠΈ.
Π ΡΠ»ΡΡΠ°Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ Π²ΠΊΠ»ΡΡΠΈΡΡ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°ΠΌΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ° SDK Π΄Π»Ρ Windows. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°Ρ ΠΎΡΠ΅ΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ COM (Ρ ΠΊΠΎΡΠ½Π΅ΠΌ Π² IUnknown). ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ° Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ unknwn.h ΠΏΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ C++/WinRT. ΠΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎ Π±Π°Π·ΠΎΠ²Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° C++/WinRT ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ COM. ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π° ΡΠΌ. Π² ΡΠ°Π·Π΄Π΅Π»Π΅ Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² COM Ρ ΠΏΠΎΠΌΠΎΡΡΡ C++/WinRT. Π’ΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅ ΡΠ²Π½ΠΎ Π²ΠΊΠ»ΡΡΠΈΡΠ΅ Π»ΡΠ±ΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ° SDK Π΄Π»Ρ Windows, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±ΡΡΠ²Π»ΡΡΡ ΡΠΈΠΏΡ ΠΈ/ΠΈΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½ΡΠΆΠ½ΠΎ Π²ΡΠ·Π²Π°ΡΡ.
ΠΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ΅Π»Π΅Π²ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Π½Π° C++/WinRT ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½Π΅ΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ° SDK Π΄Π»Ρ Windows
ΠΠ΄Π½Π°ΠΊΠΎ Π΅ΡΡΡ Π΄Π²Π° Π΄ΡΡΠ³ΠΈΡ ΡΠΏΠΎΡΠΎΠ±Π° ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π² Visual Studio.
ΠΡΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΡΠΈΠΊΠ° ΠΏΠΎΡΠ»Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΈΠ· ΡΡΠΈΡ Π΄Π²ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΠΎΡΠΈΡΡΠΈΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ (ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠΈΡΡΠΊΠΈ ΠΈ (ΠΈΠ»ΠΈ) Π²ΡΡΡΠ½ΡΡ ΡΠ΄Π°Π»ΠΈΡΡ Π²ΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΏΠ°ΠΏΠΊΠΈ ΠΈ ΡΠ°ΠΉΠ»Ρ) ΠΏΠ΅ΡΠ΅Π΄ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠΉ ΠΏΠΎΠΏΡΡΠΊΠΎΠΉ ΡΠ±ΠΎΡΠΊΠΈ.
ΠΡΠ»ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ C++ ΡΠΎΠ·Π΄Π°Π΅Ρ «Error C2039: ‘ IUnknown ‘: Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ»Π΅Π½ΠΎΠΌ» «Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½» «, Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ Π² Π½Π°ΡΠ°Π»ΠΎ pch.h ΡΠ°ΠΉΠ»Π° (ΠΏΠ΅ΡΠ΅Π΄ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ Π»ΡΠ±ΡΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² C++/WinRT).
ΠΡΠ»ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΡΠΈΠΊ C++ ΡΠΎΠ·Π΄Π°Π΅ΡΠΎΡΠΈΠ±ΠΊΡ LNK2019: Π½Π΅ΡΠ°Π·ΡΠ΅ΡΠ΅Π½Π½ΡΠΉ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΡΠΈΠΌΠ²ΠΎΠ» _WINRT_CanUnloadNow@0 ΡΡΡΠ»ΠΊΠ°ΠΌΠΈ Π² ΡΡΠ½ΠΊΡΠΈΠΈ _VSDesignerCanUnloadNow@0«, ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ, Π΄ΠΎΠ±Π°Π²ΠΈΠ² Π² pch.h ΡΠ°ΠΉΠ».