Creare assembly
È possibile creare assembly con uno o più file usando un ambiente IDE, ad esempio Visual Studio, oppure con i compilatori e gli strumenti forniti da Windows SDK. L'assembly più semplice è costituito da un unico file con un nome semplice, caricato in un unico dominio dell'applicazione. Altri assembly all'esterno della directory dell'applicazione non possono fare riferimento a questo assembly, che non può neanche essere sottoposto al controllo della versione. Per disinstallare l'applicazione costituita dall'assembly, è sufficiente eliminare la directory in cui si trova. Per molti sviluppatori un assembly con queste funzionalità è tutto ciò che serve per distribuire un'applicazione.
È possibile creare un assembly su più file da diversi moduli di codice e file di risorse. È anche possibile creare un assembly che può essere condiviso da più applicazioni. Un assembly condiviso deve avere un nome sicuro e può essere distribuito nella Global Assembly Cache.
Quando si raggruppano moduli di codice e risorse negli assembly, sono disponibili diverse opzioni in base ai fattori seguenti:
Controllo delle versioni
Raggruppare i moduli che devono avere le stesse informazioni sulla versione.
Distribuzione
Raggruppare i moduli di codice e le risorse che supportano il modello di distribuzione usato.
Riutilizzo
Raggruppare i moduli se possono essere usati insieme in modo logico per uno scopo. Ad esempio, è possibile inserire nello stesso assembly un assembly costituito da tipi e classi usati raramente per la manutenzione di programmi. In più, i tipi che si intende condividere più applicazioni devono essere raggruppati in un assembly, che deve essere firmato con un nome sicuro.
Sicurezza
Raggruppare moduli contenenti tipi che richiedono le stesse autorizzazioni di sicurezza.
Scoping
Raggruppare moduli contenenti tipi la cui visibilità deve essere limitata allo stesso assembly.
Sono previste considerazioni speciali quando si rendono disponibili assembly Common Language Runtime ad applicazioni COM non gestite. Per altre informazioni sull'uso di codice non gestito, vedere Esporre componenti .NET Framework a COM.