Windows-futtatókörnyezet (WinRT) nyelvi előrejelzések

A Windows-futtatókörnyezet (WinRT) egy nyelvsemleges alkalmazásarchitektúra Windows API-k és összetevők létrehozásához. A nyelvi kivetítés egy adott programozási nyelv konvencióinak megfelelően teszi elérhetővé a WinRT API-kat, így a C# vagy C++ kód más API-khoz hasonlóan meghívhatja őket az Ön nyelvén.

A kivetítések működésének megértése segít eldönteni, hogy winRT API-kat használ-e az alkalmazásban, vagy saját újrafelhasználható WinRT-összetevőket hoz-e össze. Ez a cikk azt ismerteti, hogy egy nyelvi kivetítés hogyan képezi le a WinRT metaadatait C# és C++ nyelvre, mely előrejelzéseket Microsoft támogatja, és ha szüksége van a vetítési dokumentációra.

A nyelvi előrejelzések működése

Windows metaadatfájlok határozzák.winmd meg a WinRT API-kat. A nyelvi kivetítés beolvassa a metaadatokat, és egy adott programozási nyelv konvenciók szerint teszi elérhetővé az API-kat. Amikor standard Windows App SDK vagy WinUI-sablonból hoz létre projektet, a sablon már konfigurálja a nyelvi kivetítéseket, és a C# vagy C++ kód közvetlenül meghívhatja a WinRT API-kat anélkül, hogy az alapul szolgáló metaadatokkal vagy az alkalmazás bináris felületével (ABI) dolgozik.

Támogatott nyelvi előrejelzések

Microsoft támogatja Windows App SDK és WinUI-alkalmazásokhoz készült C# és C++ nyelvi előrejelzéseket. A közösségi projektek más nyelvekhez, például Rusthoz is biztosítanak előrejelzéseket, de Microsoft hivatalosan nem támogatják őket.

Projection Nyelv Mit nyújt?
C++/WinRT C++17 vagy újabb Standard C++ nyelvi kivetítés WinRT API-k és összetevők felhasználásához és létrehozásához.
C#/WinRT C# (.NET) .NET nyelvi előrejelzés WinRT API-k felhasználásához és WinRT-összetevők készítéséhez.

Mikor érdemes használni a nyelvi kivetítés dokumentációját?

A legtöbb alkalmazásfejlesztéshez használhat előrejelzett WinRT API-kat, például más API-kat a választott nyelven. A vetítési dokumentációt a következő esetekben használhatja:

  • Olyan Windows-futtatókörnyezet összetevő létrehozása, amelyet más alkalmazások vagy nyelvek használnak.
  • Terjesszen egy programkönyvtárat a WinRT API-kat becsomagoló NuGet-csomagként.
  • Alacsony szintű COM- vagy ABI-interfészek használata C++ kódból.
  • A létrehozott interop kóddal vagy .winmd fájlokkal kapcsolatos buildelési hibák elhárítása.