Condividi tramite


Procedura dettagliata: creazione di DLL satellite gestite

Le DLL satellite sono utili per archiviare i file di risorse, ad esempio icone, bitmap e stringhe di risorse, in una posizione centralizzata da utilizzare in componenti aggiuntivi e altri progetti di automazione. Le DLL satellite possono inoltre essere utilizzate da altri progetti o componenti aggiuntivi. È anche possibile separare le stringhe e le altre risorse dal proprio componente aggiuntivo per apportare più facilmente modifiche centralizzate o per localizzare le risorse in altre lingue.

In versioni precedenti di Visual Studio vengono utilizzate le voci del Registro di sistema per SatelliteDllPath e SatelliteDllName. Le voci del Registro di sistema sono state ora sostituite dalle voci presenti nel file di registrazione .addin. Quando è necessario utilizzare una risorsa in un progetto, è sufficiente caricare il componente aggiuntivo dal quale Visual Studio otterrà la DLL satellite. Di conseguenza, non è necessario impostare come hardcoded un percorso della risorsa. Inoltre, per specificare l'ID di una risorsa, anziché il metodo #id è necessario utilizzare @nome risorsa (dove nome risorsa rappresenta il nome della risorsa, ad esempio @Icon1 o @String1). Il simbolo @ indica a Visual Studio di cercare la risorsa nella DLL satellite.

Creare DLL satellite gestite

Nei seguenti passaggi viene illustrato come creare una DLL satellite contenente risorse di tipo stringa e icona e come modificare un componente aggiuntivo per accedere a tali risorse. A questo scopo, viene utilizzato un componente aggiuntivo che include una finestra di dialogo Informazioni su, per la quale sono necessarie risorse di tipo icona e stringa. Quando si crea un componente aggiuntivo con una finestra di dialogo Informazioni su, vengono generalmente forniti un'icona e un testo predefiniti. Nei passaggi seguenti viene mostrato inoltre come sostituire l'icona e il testo predefiniti con elementi personalizzati.

Per creare una DLL satellite gestita

  1. Scegliere Nuovo dal menu File e quindi fare clic su Progetto.

  2. Nella finestra di dialogo Nuovo progetto espandere Altri tipi di progetto e quindi selezionare Progetti Extensibility.

  3. Nel riquadro Modelli selezionare Componente aggiuntivo Visual Studio.

  4. Seguire le istruzioni nella Creazione guidata componente aggiuntivo di Visual Studio. Nella pagina Scelta della finestra 'Informazioni su' selezionare Sì, rendi disponibile la finestra 'Informazioni su' per il componente aggiuntivo. Non modificare le restanti selezioni predefinite.

  5. Scegliere Aggiungi riferimento dal menu Progetto.

  6. Nella scheda .NET fare clic su System.Drawing, quindi scegliere OK.

  7. Fare clic con il pulsante destro del mouse sul progetto relativo al componente aggiuntivo in Esplora soluzioni, scegliere Aggiungi, quindi fare clic su Nuovo elemento.

  8. Selezionare File di risorse nell'elenco Modelli, quindi fare clic su Aggiungi. Accettare il nome predefinito (Resources1.resx).

    Per impostazione predefinita, viene creato un file di risorse denominato Resource1.resx e viene avviato l'Editor risorse Visual Studio.

  9. In Resource1.resx scegliere Icone nell'elenco Stringhe (il pulsante in alto all'estrema sinistra).

  10. Scegliere Aggiungi nuova icona dall'elenco Aggiungi risorsa. Non modificare per il momento il nome predefinito (Icon1.bmp) e fare clic su Aggiungi.

    In alternativa, è possibile selezionare un'immagine bitmap esistente per l'icona, purché la dimensione dell'immagine sia pari a 16 x 16 pixel, a 16 colori o a 16,8 milioni di colori.

  11. Dopo che l'icona viene aperta nell'Editor icone, utilizzare gli strumenti per modificarla. Al termine, chiudere l'Editor icone e salvare le modifiche apportate.

  12. Scegliere Aggiungi nuova stringa dall'elenco Aggiungi risorsa.

  13. Fare clic sulla prima casella nella colonna Nome.

    Verrà creata una risorsa di tipo stringa predefinita con il nome String1.

  14. Digitare la Riga uno nella casella Valore.

    Questo è il valore della prima stringa di tipo risorsa.

  15. Creare altre due risorse di tipo stringa con i nomi "Riga due" e "Riga tre".

  16. Chiudere l'Editor risorse e salvare le modifiche apportate.

  17. In Esplora soluzioni fare clic con il pulsante destro del mouse su Resource1.resx e scegliere Proprietà.

  18. Nella finestra Proprietà modificare l'impostazione di Risorsa incorporata da Operazione di compilazione in Nessuno.

    Ciò impedisce che la risorsa venga incorporata nell'assembly del componente aggiuntivo.

  19. Compilare il progetto.

  20. Creare la DLL di risorse satellite. Questa attività viene svolta in due passaggi, utilizzando ResGen e quindi l'Assembly Linker per la compilazione della DLL satellite.

    1. Fare clic su Start, scegliere Tutti i programmi, Microsoft Visual Studio 2010, Strumenti di Visual Studio, quindi Prompt dei comandi di Microsoft Visual Studio (2010).

      Ciò consente di impostare determinate variabili di ambiente in modo che sia più semplice fare riferimento agli strumenti di Visual Studio.

    2. Al prompt dei comandi individuare la cartella che contiene il file con estensione .resx e digitare Resgen Resource1.resx.

      Resgen è un'utilità che consente di compilare il file .resx specificato in un file .resources. Per ulteriori informazioni, vedere Resgen.exe (generatore di file di risorse).

    3. Al prompt dei comandi digitare AL.exe /embed:Resource1.resources /culture:en-US /out:Nome del componente aggiuntivo.resources.dll.

      Sostituire Nome del componente aggiuntivo con il nome del componente aggiuntivo. Ad esempio, se il progetto del componente aggiuntivo è denominato MyAddin, l'opzione /out: è /out:MyAddin.resources.dll. Il nome /out: deve corrispondere al nome del progetto; in caso contrario, la DLL della risorsa non verrà trovata.

      AL.exe (Assembly Linker) converte il file con estensione resources specificato in una DLL alla quale è possibile fare riferimento nel componente aggiuntivo. È possibile impostare l'opzione /culture su una lingua diversa dall'inglese. Per ulteriori informazioni, vedere Al.exe (Assembly Linker).

  21. In Esplora risorse individuare la directory della DLL del componente aggiuntivo e creare una cartella denominata \en-US\ (inglese americano, se si è specificato en-US come impostazione cultura in AL.exe).

  22. Copiare il file Nome componente aggiuntivo.resources.dll nella nuova cartella \en-US\.

  23. In Esplora risorse individuare la directory \Componenti aggiuntivi\, in genere .. \Documents and Settings\nome utente\Documenti\Visual Studio 2010\Componenti aggiuntivi\

  24. Modificare il file di definizione del componente aggiuntivo di Visual Studio nel modo seguente:

    1. Fare clic con il pulsante destro del mouse sul file di definizione del componente aggiuntivo, quindi fare clic su Apri con e scegliere Blocco note.

    2. Sostituire i seguenti tag:

          <FriendlyName>@String1</FriendlyName>
          <Description>@String2</Description>
          <AboutBoxDetails>@String3</AboutBoxDetails>
          <AboutIconData>@Icon1</AboutIconData>
      

      Il componente aggiuntivo verrà rinominato da Friendlyname in Riga1, vale a dire il valore specificato in Stringa1 nel file Resource1.resx. La descrizione nella finestra di dialogo Informazioni su contiene ora "Riga2" e il valore di AboutIconData corrisponde all'icona creata per la finestra di dialogo Informazioni su.

    3. Inserire .resources prima dell'estensione del nome dell'assembly.

  25. Ricompilare il progetto e selezionare il componente aggiuntivo in Gestione componenti aggiuntivi.

  26. Scegliere Informazioni su Microsoft Visual Studio dal menu ?, quindi selezionare dall'elenco Riga1, ovvero il nome del componente aggiuntivo.

    L'icona personalizzata e le tre stringhe create vengono visualizzate.

Vedere anche

Attività

Procedura: accedere alle risorse in DLL satellite

Concetti

Registrazione di un componente aggiuntivo