Concetti fondamentali sulla creazione di package

Oltre a Common Language Runtime, in .NET Framework è disponibile anche la libreria di classi .NET Framework, che è organizzata in una struttura gerarchica di spazi dei nomi. Lo spazio dei nomi principale System contiene oggetti per molte altre classi utili, tra cui le classi di I/O dei file, messaggistica, rete e protezione, che possono essere utilizzate da qualsiasi linguaggio compatibile con .NET.

Anche le librerie di classi di .NET Framework personalizzate sono organizzate in spazi dei nomi gerarchici e sono memorizzate in file eseguibili portabili (PE), generalmente DLL ed EXE. In un file PE è possibile includere più spazi dei nomi, compresi gli spazi dei nomi nidificati, e uno spazio dei nomi può essere suddiviso in più file PE. Per creare un assembly, ovvero un'unità fisica che può essere distribuita e riutilizzata e alla quale è possibile applicare un numero di versione, vengono uniti uno o più file PE ed eventualmente altri file, come i file di risorse.

In .NET Framework per ogni tipo di classe viene fornita una descrizione completa tramite i metadati del tipo. In ogni assembly è contenuto un manifesto con il nome di ogni tipo esportato dall'assembly, insieme alle informazioni sul file che contiene i relativi metadati. Nel manifesto sono inoltre incluse informazioni sull'identità dell'assembly, ossia il nome, i file che formano l'assembly e le informazioni sulla versione, oltre a informazioni complete sulle dipendenze da altri assembly. I manifesti assembly vengono utilizzati nel runtime per individuare e associare i tipi a cui viene fatto riferimento. Il processo di ricerca e associazione degli assembly viene gestito da Common Language Runtime.

Vedere anche

Creazione di package e distribuzione | Creazione di package e distribuzione tramite file | (1) Hello World | (2) Una semplice applicazione a componenti | (3) Percorso per i componenti privati | (4) Un componente condiviso | (5) Controllo delle versioni dei componenti | Riepilogo della distribuzione di package | Appendice A: ulteriori informazioni sulla creazione di package e sulla distribuzione | Appendice B: strumenti per la creazione di package e per la distribuzione