Natív .NET alkalmazások fordítása

Fontos

Modernizálja UWP-alkalmazását a .NET és a natív AOT segítségével: Ha új UWP-alkalmazást fejleszt, vagy meglévő UWP-alkalmazást szeretne modernizálni, javasoljuk, hogy a legújabb .NET natív AOT-vel rendelkező UWP-támogatást használja a .NET Native helyett. A modern .NET UWP támogatása általánosan elérhető, és a C# UWP-alkalmazások default projekttípusa a 2026-os Visual Studio. Ez hozzáférést biztosít a legújabb .NET és C#-funkciókhoz, továbbfejlesztett eszköz- és hibakeresési támogatáshoz, valamint gyorsabb létrehozási időkhöz. .NET natív verzió továbbra is megkapja a biztonsági és megbízhatósági javításokat, de nem kap új funkciófrissítéseket.

.NET Natív egy előre összeállított technológia UWP-alkalmazások létrehozásához és üzembe helyezéséhez. A .NET Native a Visual Studio 2015 és újabb verzióinak része. Automatikusan lefordítja a felügyelt kódban (C# vagy Visual Basic) írt UWP-alkalmazások kiadási verzióját natív kódra.

Az .NET alkalmazások általában köztes nyelvre (IL) vannak lefordítva. Futásidőben a just-in-time (JIT) fordító lefordítja az IL-t natív kódra. Ezzel szemben a natív .NET közvetlenül natív kódra fordítja az UWP-alkalmazásokat. A fejlesztők számára ez a következőt jelenti:

  • Az alkalmazások a natív kód teljesítményét is jellemzik. A teljesítmény általában jobb lesz, mint az IL-re lefordított, majd a JIT fordító által natív kódra lefordított kód.

  • Folytathatja a programozást C# vagy Visual Basic nyelven.

  • Továbbra is kihasználhatja a .NET-keretrendszer által biztosított erőforrásokat, beleértve az osztálykódtárat, az automatikus memóriakezelést és a szemétgyűjtést, valamint a kivételkezelést.

Az alkalmazások felhasználói számára a natív .NET az alábbi előnyöket kínálja:

  • Gyorsabb végrehajtási idő az alkalmazások és forgatókönyvek többségénél.

  • Az alkalmazások és forgatókönyvek többségének gyorsabb indítási ideje.

  • Alacsony üzembe helyezési és frissítési költségek.

  • Optimalizált alkalmazásmemória-használat.

A natív .NET azonban nem csak a natív kód fordítását igényli. Átalakítja .NET Framework-alkalmazások felépítését és végrehajtását. Főleg:

  • Az előfordítás során a .NET Keretrendszer szükséges részei statikusan hozzákapcsolódnak az alkalmazáshoz. Ez lehetővé teszi, hogy az alkalmazás a .NET-keretrendszer alkalmazás helyi kódtáraival fusson, a fordító pedig globális elemzést végezzen a teljesítmény nyerése érdekében. Ennek eredményeképpen az alkalmazások folyamatosan gyorsabban indulnak el .NET Keretrendszer frissítései után is.

  • A .NET natív futtatókörnyezet statikus előfordításra van optimalizálva, és az esetek túlnyomó többségében kiváló teljesítményt nyújt. Ugyanakkor megőrzi a fejlesztők által ennyire hatékonynak talált alapvető tükröződési funkciókat.

  • .NET natív rendszer ugyanazt a háttérrendszert használja, mint a C++ fordító, amely statikus előfordítási forgatókönyvekhez van optimalizálva.

.NET Natív képes a C++ teljesítménybeli előnyeit kínálni a felügyelt kódfejlesztőknek, mivel ugyanazokat vagy hasonló eszközöket használ, mint a C++ a háttérben, amint az ebben a táblázatban látható.

Összetevő .NET Native C++
Könyvtárak .NET Framework + Windows-futtatókörnyezet Win32 + Windows-futtatókörnyezet
Fordítóprogram UTC optimalizáló fordítóprogram UTC optimalizáló fordítóprogram
Telepített Futtatásra kész bináris fájlok Futtatásra kész bináris fájlok (ASM)
Futási idő MRT.dll (minimális CLR-futtatókörnyezet) CRT.dll (C futtatókörnyezet)

UWP-alkalmazások esetén .NET natív kódfordítási bináris fájlokat tölthet fel a Microsoft Store alkalmazáscsomagjaiba (.msix vagy .appx fájlok).