Compartir a través de


Compilación de aplicaciones con .NET Native

.NET Native es una tecnología de precompilación para compilar e implementar aplicaciones para UWP. .NET Native se incluye con Visual Studio 2015 y versiones posteriores. Compila automáticamente la versión de lanzamiento de aplicaciones para UWP escritas en código administrado (C# o Visual Basic) en código nativo.

Normalmente, las aplicaciones .NET se compilan en lenguaje intermedio (IL). En tiempo de ejecución, el compilador Just-In-Time (JIT) convierte el IL en código nativo. En cambio, .NET Native compila aplicaciones para UWP directamente en código nativo. Para los desarrolladores, esto significa:

  • Las aplicaciones presentan el rendimiento del código nativo. Normalmente, el rendimiento será superior al código que se compila primero en IL y, a continuación, se compila en código nativo mediante el compilador JIT.

  • Puede continuar programando en C# o Visual Basic.

  • Puede seguir aprovechando los recursos proporcionados por .NET Framework, incluida su biblioteca de clases, la administración automática de memoria y la recolección de elementos no utilizados y el control de excepciones.

Para los usuarios de las aplicaciones, .NET Native ofrece estas ventajas:

  • Tiempos de ejecución más rápidos para la mayoría de aplicaciones y escenarios.

  • Tiempos de inicio más rápidos para la mayoría de las aplicaciones y escenarios.

  • Bajos costos de implementación y actualización.

  • Uso optimizado de memoria de la aplicación.

Pero .NET Native implica más que una compilación en código nativo. Transforma la forma en que se compilan y ejecutan las aplicaciones de .NET Framework. En particular:

  • Durante la precompilación, las partes necesarias de .NET Framework se vinculan estáticamente a la aplicación. Esto permite que la aplicación se ejecute con bibliotecas locales de la aplicación de .NET Framework y el compilador realice un análisis global para ofrecer resultados de rendimiento. Como resultado, las aplicaciones se inician de forma coherente más rápido incluso después de las actualizaciones de .NET Framework.

  • El entorno de ejecución de .NET Native está optimizado para la precompilación estática y, en la mayoría de los casos, ofrece un rendimiento superior. Al mismo tiempo, conserva las características principales de reflexión que los desarrolladores encuentran tan productivas.

  • .NET Native usa el mismo back-end que el compilador de C++, que está optimizado para escenarios de precompilación estática.

.NET Native puede aportar las ventajas de rendimiento de C++ a los desarrolladores de código administrado porque usa las mismas herramientas o similares que C++ en segundo plano, como se muestra en esta tabla.

Componente .NET Native C++
Bibliotecas .NET Framework + Windows Runtime Win32 + Windows Runtime
Compilador Optimización de UTC del compilador Optimización de UTC del compilador
Implementado Archivos binarios listos para ejecutar Archivos binarios listos para ejecutar (ASM)
Tiempo de ejecución MRT.dll (tiempo de ejecución de CLR mínimo) CRT.dll (tiempo de ejecución de C)

En el caso de las aplicaciones para UWP, carga archivos binarios de compilación de código nativo de .NET en paquetes de aplicaciones (archivos .msix o .appx) en Microsoft Store.