Partilhar via


Compilar aplicativos com o .NET Native

O .NET Native é uma tecnologia de pré-compilação para criar e implantar aplicativos UWP. O .NET Native está incluído no Visual Studio 2015 e versões posteriores. Ele compila automaticamente a versão de lançamento de aplicativos UWP que são escritos em código gerenciado (C# ou Visual Basic) para código nativo.

Normalmente, os aplicativos .NET são compilados para linguagem intermediária (IL). Em tempo de execução, o compilador just-in-time (JIT) traduz o IL para código nativo. Por outro lado, o .NET Native compila aplicativos UWP diretamente para código nativo. Para os desenvolvedores, isso significa:

  • Seus aplicativos apresentam o desempenho do código nativo. Normalmente, o desempenho será superior ao código que é primeiro compilado para IL e, em seguida, compilado para código nativo pelo compilador JIT.

  • Você pode continuar a programar em C# ou Visual Basic.

  • Você pode continuar a aproveitar os recursos fornecidos pelo .NET Framework, incluindo sua biblioteca de classes, gerenciamento automático de memória e coleta de lixo e tratamento de exceções.

Para os usuários de seus aplicativos, o .NET Native oferece estas vantagens:

  • Tempos de execução mais rápidos para a maioria dos aplicativos e cenários.

  • Tempos de arranque mais rápidos para a maioria das aplicações e cenários.

  • Baixos custos de implantação e atualização.

  • Uso otimizado da memória do aplicativo.

Mas o .NET Native envolve mais do que uma compilação para código nativo. Ele transforma a maneira como os aplicativos do .NET Framework são criados e executados. Em especial:

  • Durante a pré-compilação, partes necessárias do .NET Framework são vinculadas estaticamente ao seu aplicativo. Isso permite que o aplicativo seja executado com bibliotecas locais de aplicativo do .NET Framework e que o compilador execute análises globais para oferecer ganhos de desempenho. Como resultado, as aplicações são lançadas consistentemente mais rápido, mesmo após atualizações do .NET Framework.

  • O tempo de execução do .NET Native é otimizado para pré-compilação estática e, na grande maioria dos casos, oferece desempenho superior. Ao mesmo tempo, mantém os principais recursos de reflexão que os desenvolvedores consideram tão produtivos.

  • O .NET Native usa o mesmo back-end que o compilador C++, que é otimizado para cenários de pré-compilação estática.

O .NET Native é capaz de trazer os benefícios de desempenho do C++ para desenvolvedores de código gerenciado porque usa as mesmas ferramentas ou ferramentas semelhantes ao C++ nos bastidores, conforme mostrado nesta tabela.

Componente Nativo do .NET C++
Bibliotecas .NET Framework + Tempo de Execução do Windows Win32 + Tempo de Execução do Windows
Compilador Compilador de otimização UTC Compilador de otimização UTC
Implantado Binários prontos para execução Binários prontos para execução (ASM)
Tempo de execução MRT.dll (Tempo de execução CLR mínimo) CRT.dll (Tempo de Execução C)

Para aplicativos UWP, carregue binários de compilação de código nativo do .NET em pacotes de aplicativos (arquivos .msix ou .appx) na Microsoft Store.