Condividi tramite


Assembly su più file

Aggiornamento: novembre 2007

È possibile creare assembly su più file mediante i compilatori della riga di comando o Visual Studio 2005 con Visual C++. È necessario che almeno un file dell'assembly contenga il manifesto dell'assembly. È inoltre necessario che un assembly che avvia un'applicazione contenga un punto di ingresso, ad esempio un metodo Main o WinMain.

Si immagini, ad esempio, un'applicazione con due moduli di codice, Client.cs e Stringer.cs. In Stringer.cs viene creato lo spazio dei nomi myStringer a cui fa riferimento il codice in Client.cs. Client.cs contiene il metodo Main, che è il punto di ingresso dell'applicazione. In questo esempio si compilano i due moduli di codice, quindi si crea un terzo file contenente il manifesto dell'assembly, che consente il lancio dell'applicazione. Nel manifesto dell'assembly sono presenti riferimenti sia al modulo Client che al modulo Stringer.

Nota:

Negli assembly su più file è consentito un solo punto di ingresso, anche se l'assembly dispone di più moduli di codice.

La creazione di un assembly su più file potrebbe risultare consigliabile per svariate ragioni:

  • Per combinare moduli scritti in linguaggi diversi. L'assembly su più file viene solitamente creato per questa ragione.

  • Per ottimizzare il download di un'applicazione inserendo i tipi raramente utilizzati in un modulo che viene scaricato solo quando necessario.

    Nota:

    Se si creano applicazioni il cui download verrà eseguito utilizzando il tag <object> con Microsoft Internet Explorer, la creazione di assembly su più file diventa indispensabile. In uno scenario di questo tipo si crea un file distinto dai moduli di codice e contenente solo il manifesto dell'assembly. In Internet Explorer viene eseguito prima di tutto il download del manifesto dell'assembly, quindi vengono creati thread di lavoro per eseguire il download di eventuali moduli o assembly aggiuntivi necessari. Durante il download del file contenente il manifesto dell'assembly, Internet Explorer non risponderà all'input dell'utente. Dimensioni ridotte del file contenente il manifesto dell'assembly implicano una riduzione del tempo di assenza di risposta da parte di Internet Explorer.

  • Per combinare moduli di codice scritti da diversi sviluppatori. Benché i singoli sviluppatori siano in grado di compilare ogni modulo di codice nell'assembly, è possibile che questa operazione provochi l'esposizione di alcuni tipi, che non risultano esposti se tutti i moduli vengono inseriti in un assembly su più file.

Una volta creato l'assembly, è possibile firmare il file contenente il manifesto dell'assembly (e quindi l'assembly) o assegnare un nome sicuro al file (e all'assembly) e inserirlo nella Global Assembly Cache.

Vedere anche

Attività

Procedura: creare un assembly su più file

Altre risorse

Programmazione con gli assembly