Udostępnij przez


Kompilowanie aplikacji przy użyciu platformy .NET Native

.NET Native to technologia wstępnego kompilowania i wdrażania aplikacji platformy UWP. Program .NET Native jest dołączony do programu Visual Studio 2015 i nowszych wersji. Automatycznie kompiluje wersję wydania aplikacji platformy UWP napisanych w kodzie zarządzanym (C# lub Visual Basic) do kodu natywnego.

Zazwyczaj aplikacje platformy .NET są kompilowane do języka pośredniego (IL). W czasie wykonywania kompilator just in time (JIT) tłumaczy język IL na kod natywny. Z kolei platforma .NET Native kompiluje aplikacje platformy UWP bezpośrednio do kodu natywnego. W przypadku deweloperów oznacza to:

  • Twoje aplikacje oferują wydajność kodu natywnego. Zwykle wydajność będzie lepsza od kodu, który jest najpierw kompilowany do il, a następnie kompilowany do kodu natywnego przez kompilator JIT.

  • Możesz kontynuować programowanie w języku C# lub Visual Basic.

  • Możesz nadal korzystać z zasobów udostępnianych przez program .NET Framework, w tym bibliotekę klas, automatyczne zarządzanie pamięcią i odzyskiwanie pamięci oraz obsługę wyjątków.

W przypadku użytkowników aplikacji platforma .NET Native oferuje następujące korzyści:

  • Krótszy czas wykonywania dla większości aplikacji i scenariuszy.

  • Szybsze czasy uruchamiania dla większości aplikacji i scenariuszy.

  • Niskie koszty wdrażania i aktualizacji.

  • Zoptymalizowane użycie pamięci aplikacji.

Jednak platforma .NET Native obejmuje więcej niż kompilację kodu natywnego. Przekształca sposób tworzenia i wykonywania aplikacji .NET Framework. W szczególności:

  • Podczas wstępnej kompilacji wymagane części programu .NET Framework są statycznie połączone z aplikacją. To umożliwia aplikacji działanie z bibliotekami lokalnymi dla aplikacji platformy .NET Framework, a kompilatorowi przeprowadzanie analizy globalnej w celu zapewnienia korzyści wydajnościowych. W związku z tym aplikacje są uruchamiane spójnie szybciej nawet po aktualizacji programu .NET Framework.

  • Środowisko uruchomieniowe platformy .NET Native jest zoptymalizowane pod kątem statycznej prekompilacji, a w zdecydowanej większości przypadków zapewnia lepszą wydajność. Jednocześnie zachowuje podstawowe funkcje refleksji, które deweloperzy uznają za tak produktywne.

  • Platforma .NET Native używa tego samego zaplecza co kompilator języka C++, który jest zoptymalizowany pod kątem statycznych scenariuszy wstępnego kompilowania.

Platforma .NET Native może przynieść korzyści z wydajności języka C++ deweloperom kodu zarządzanego, ponieważ używa tych samych lub podobnych narzędzi co język C++ pod maską, jak pokazano w tej tabeli.

Składnik Natywny dla platformy .NET C++
Biblioteki .NET Framework + Środowisko uruchomieniowe systemu Windows Win32 + Środowisko uruchomieniowe systemu Windows
Kompilator Optymalizacja kompilatora utc Optymalizacja kompilatora utc
Wdrożony Gotowe do uruchomienia pliki binarne Gotowe do uruchomienia pliki binarne (ASM)
Środowisko uruchomieniowe MRT.dll (Minimalne środowisko uruchomieniowe CLR) CRT.dll (środowisko uruchomieniowe C)

W przypadku aplikacji platformy UWP pliki binarne kompilacji kodu natywnego platformy .NET są przekazywane do sklepu Microsoft Store w pakietach aplikacji (plik msix lub .appx).