Kompilace aplikací pomocí nativního .NET

Důležité

Modernizace aplikace pro UPW pomocí .NET a nativní AOT: Pokud vyvíjíte novou aplikaci pro UPW nebo chcete modernizovat stávající aplikaci pro UPW, doporučujeme použít podporu UWP pro nejnovější .NET s nativní AOT místo .NET Nativní. Podpora UPW pro moderní .NET je teď obecně dostupná a je to typ projektu default pro aplikace upW jazyka C# v Visual Studio 2026. To poskytuje přístup k nejnovějším funkcím .NET a jazyka C#, vylepšené podpoře nástrojů a ladění a rychlejším časům sestavení. .NET Native bude nadále přijímat opravy zabezpečení a spolehlivosti, ale nebudou dostávat nové aktualizace funkcí.

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

.NET aplikace 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 i nadále 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

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

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

  • Nativní modul runtime .NET 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 .NET Native C++
Knihovny .NET Framework + prostředí Windows Runtime Win32 + prostředí 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 do Microsoft Store binární soubory .NET nativní kompilace kódu v balíčcích aplikací (.msix nebo .appx).