Creazione degli assemblyCreating Assemblies

È possibile creare assembly su uno o più file tramite un ambiente IDE, ad esempio Visual Studio 2005Visual Studio 2005, o tramite i compilatori e gli strumenti forniti da Windows Software Development Kit (SDK)Windows Software Development Kit (SDK).You can create single-file or multifile assemblies using an IDE, such as Visual Studio 2005Visual Studio 2005, or the compilers and tools provided by the Windows Software Development Kit (SDK)Windows Software Development Kit (SDK). L'assembly più semplice è costituito da un unico file con un nome semplice, caricato in un unico dominio dell'applicazione.The simplest assembly is a single file that has a simple name and is loaded into a single application domain. 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.This assembly cannot be referenced by other assemblies outside the application directory and does not undergo version checking. Per disinstallare l'applicazione costituita dall'assembly, è sufficiente eliminare la directory in cui si trova.To uninstall the application made up of the assembly, you simply delete the directory where it resides. Per molti sviluppatori un assembly con queste funzionalità è tutto ciò che serve per distribuire un'applicazione.For many developers, an assembly with these features is all that is needed to deploy an application.

È possibile creare un assembly su più file da diversi moduli di codice e file di risorse.You can create a multifile assembly from several code modules and resource files. È anche possibile creare un assembly che può essere condiviso da più applicazioni.You can also create an assembly that can be shared by multiple applications. Un assembly condiviso deve avere un nome sicuro e può essere distribuito nella Global Assembly Cache.A shared assembly must have a strong name and can be deployed in the global assembly cache.

Quando si raggruppano moduli di codice e risorse negli assembly, sono disponibili diverse opzioni in base ai fattori seguenti:You have several options when grouping code modules and resources into assemblies, depending on the following factors:

  • Controllo delle versioniVersioning

    Raggruppare i moduli che devono avere le stesse informazioni sulla versione.Group modules that should have the same version information.

  • DistribuzioneDeployment

    Raggruppare i moduli di codice e le risorse che supportano il modello di distribuzione usato.Group code modules and resources that support your model of deployment.

  • RiusoReuse

    Raggruppare i moduli se possono essere usati insieme in modo logico per uno scopo.Group modules if they can be logically used together for some purpose. Ad esempio, è possibile inserire nello stesso assembly un assembly costituito da tipi e classi usati raramente per la manutenzione di programmi.For example, an assembly consisting of types and classes used infrequently for program maintenance can be put in the same assembly. In più, i tipi che si intende condividere più applicazioni devono essere raggruppati in un assembly, che deve essere firmato con un nome sicuro.In addition, types that you intend to share with multiple applications should be grouped into an assembly and the assembly should be signed with a strong name.

  • SicurezzaSecurity

    Raggruppare moduli contenenti tipi che richiedono le stesse autorizzazioni di sicurezza.Group modules containing types that require the same security permissions.

  • AmbitoScoping

    Raggruppare moduli contenenti tipi la cui visibilità deve essere limitata allo stesso assembly.Group modules containing types whose visibility should be restricted to the same assembly.

Sono necessarie considerazioni speciali quando si rendono disponibili assembly Common Language Runtime ad applicazioni COM non gestite.Special considerations must be made when making common language runtime assemblies available to unmanaged COM applications. Per altre informazioni sull'uso di codice non gestito, vedere Esposizione di componenti .NET Framework a COM.For more information about working with unmanaged code, see Exposing .NET Framework Components to COM.

Vedere ancheSee Also

Programmazione con gli assemblyProgramming with Assemblies
Controllo delle versioni degli assemblyAssembly Versioning
Procedura: Compilare un assembly su singolo fileHow to: Build a Single-File Assembly
Procedura: Compilare un assembly su più fileHow to: Build a Multifile Assembly
Come il runtime individua gli assemblyHow the Runtime Locates Assemblies
Assembly su più fileMultifile Assemblies