Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Importante
Modernizzare l'app UWP con .NET e AOT nativo: se stai sviluppando una nuova app UWP o vuoi modernizzare un'app UWP esistente, ti consigliamo di usare il supporto UWP per le .NET più recenti con Native AOT invece di .NET Native. Il supporto UWP per le .NET moderne è ora disponibile a livello generale ed è il tipo di progetto default per le app UWP C# in Visual Studio 2026. In questo modo è possibile accedere alle funzionalità di .NET e C# più recenti, al supporto migliorato degli strumenti e del debug e ai tempi di compilazione più rapidi. .NET Native continuerà a ricevere correzioni di sicurezza e affidabilità, ma non riceveranno nuovi aggiornamenti delle funzionalità.
.NET Native è una tecnologia di precompilazione per la creazione e la distribuzione di app UWP. .NET Native è incluso in Visual Studio 2015 e versioni successive. Compila automaticamente la versione di rilascio delle app UWP scritte in codice gestito (C# o Visual Basic) nel codice nativo.
In genere, le app .NET vengono compilate in linguaggio intermedio (IL). Durante l'esecuzione, il compilatore just-in-time (JIT) traduce il codice IL in codice nativo. Al contrario, .NET Native compila le app UWP direttamente nel codice nativo. Per gli sviluppatori, ciò significa:
Le tue app offrono le prestazioni del codice nativo. In genere, le prestazioni saranno superiori al codice che viene prima compilato in IL e quindi compilato in codice nativo dal compilatore JIT.
È possibile continuare a programmare in C# o Visual Basic.
È possibile continuare a sfruttare le risorse fornite da .NET Framework, inclusa la libreria di classi, la gestione automatica della memoria e la Garbage Collection e la gestione delle eccezioni.
Per gli utenti delle app, .NET Native offre questi vantaggi:
Tempi di esecuzione più rapidi per la maggior parte delle app e degli scenari.
Tempi di avvio più rapidi per la maggior parte delle app e degli scenari.
Costi di distribuzione e aggiornamento ridotti.
Utilizzo ottimizzato della memoria dell'app.
Tuttavia, .NET Native implica più di una compilazione nel codice nativo. Trasforma il modo in cui le app di .NET Framework vengono compilate ed eseguite. In particolare:
Durante la precompilazione, le parti necessarie di .NET Framework vengono collegate staticamente all'app. In questo modo l'app può essere eseguita con librerie locali dell'applicazione del .NET Framework, e consente al compilatore di eseguire un'analisi globale per offrire miglioramenti delle prestazioni. Di conseguenza, le app si avviano più velocemente in modo costante anche dopo gli aggiornamenti di .NET Framework.
Il runtime nativo .NET è ottimizzato per la precompilazione statica e nella maggior parte dei casi offre prestazioni superiori. Allo stesso tempo, mantiene le funzionalità di reflection di base che gli sviluppatori trovano così utili.
.NET Native usa lo stesso back-end del compilatore C++, ottimizzato per scenari di precompilazione statica.
.NET Native è in grado di sfruttare i vantaggi delle prestazioni di C++ agli sviluppatori di codice gestito perché usa gli stessi strumenti o simili di C++ sotto le quinte, come illustrato in questa tabella.
| Componente | .NET native | C++ |
|---|---|---|
| Librerie | .NET Framework e Windows Runtime | Win32 + Windows Runtime |
| Compilatore | Ottimizzazione UTC del compilatore | Ottimizzazione UTC del compilatore |
| Distribuito | File binari pronti per l'esecuzione | File binari pronti per l'esecuzione (ASM) |
| Tempo di esecuzione | MRT.dll (il Runtime CLR minimo) | CRT.dll (ambiente di esecuzione C) |
Per le applicazioni UWP, carichi i file binari di compilazione di codice nativo .NET nei pacchetti applicativi (.msix o .appx) nel Microsoft Store.