Sdílet prostřednictvím


Kompilace aplikací pomocí .NET Native

.NET Native je technologie předkompilace pro vytváření a nasazování aplikací pro UPW. .NET Native je součástí sady Visual Studio 2015 a novějších verzí. Automaticky zkompiluje verzi aplikací pro UPW, které jsou napsané ve spravovaném kódu (C# nebo Visual Basic) do nativního kódu.

Aplikace .NET se obvykle kompilují do zprostředkujícího jazyka (IL). Kompilátor JIT (Just-in-Time) za běhu přeloží il na nativní kód. Naproti tomu .NET Native kompiluje aplikace pro UPW přímo do nativního kódu. Pro vývojáře to znamená:

  • Vaše aplikace se vyznačují výkonem nativního kódu. Obvykle bude výkon lepší než u kódu, který je nejprve přeložen do IL a následně přeložen do nativního kódu kompilátorem JIT.

  • V jazyce C# nebo Visual Basic můžete pokračovat v programu.

  • Můžete dál využívat prostředky poskytované rozhraním .NET Framework, včetně knihovny tříd, automatické správy paměti a uvolňování paměti a zpracování výjimek.

Pro uživatele vašich aplikací nabízí .NET Native tyto výhody:

  • Rychlejší spouštění většiny aplikací a scénářů

  • Rychlejší spouštění většiny aplikací a scénářů.

  • Nízké náklady na nasazení a aktualizace

  • Optimalizované využití paměti aplikace

.NET Native ale zahrnuje více než kompilaci nativního kódu. Transformuje způsob vytváření a spouštění aplikací rozhraní .NET Framework. Zejména:

  • Během předkompilace se požadované části rozhraní .NET Framework staticky propojí s vaší aplikací. To umožňuje aplikaci spouštět s místními knihovnami rozhraní .NET Framework a kompilátor pro provádění globální analýzy za účelem dosažení výkonu. V důsledku toho se aplikace spouštějí konzistentně rychleji i po aktualizacích rozhraní .NET Framework.

  • Modul runtime .NET Native je optimalizovaný pro statickou předkompilace a ve většině případů nabízí vynikající výkon. Zároveň zachovává základní funkce reflexe, které vývojáři považují za velmi produktivní.

  • .NET Native používá stejný back-end jako kompilátor C++, který je optimalizovaný pro scénáře statické předkompilace.

.NET Native umožňuje vývojářům spravovaného kódu přinést výhody výkonu jazyka C++, protože používá stejné nebo podobné nástroje jako C++ pod kapotou, jak je znázorněno v této tabulce.

Součást Nativní .NET C++
Knihovny .NET Framework + Windows Runtime Win32 + Windows Runtime
kompilátor Kompilátor optimalizující pro UTC Kompilátor optimalizující pro UTC
Nasazený Binární soubory připravené ke spuštění Binární soubory připravené k spuštění (ASM)
Provozní doba MRT.dll (minimální modul runtime CLR) CRT.dll (modul runtime jazyka C)

U aplikací pro UPW nahrajete binární soubory kompilace nativního kódu .NET do balíčků aplikací (.msix nebo .appx souborů) do Microsoft Storu.