Condividi tramite


Procedura: definire e installare un'estensione di modellazione

In Visual Studio Ultimate è possibile definire estensioni per i diagrammi di modellazione.In questo modo, è possibile adattare i diagrammi e i modelli alle proprie necessità.È possibile ad esempio definire comandi di menu, profili UML, vincoli di convalida ed elementi della casella degli strumenti.È possibile definire diversi componenti in una singola estensione.È inoltre possibile distribuire queste estensioni ad altri utenti di Visual Studio Ultimate come estensioni Visual Studio Integration Extension (VSIX). È possibile creare un progetto VSIX tramite un progetto VSIX in Visual Studio.

Requisiti

Creazione di una soluzione di estensione di modello

Per definire un'estensione di modello, è necessario creare una soluzione contenente i progetti seguenti:

  • Un progetto VSIX ( Visual Studio Integration Extension).Tramite questo progetto viene generato un file che funge da programma di installazione per i componenti dell'estensione.

  • Un progetto Libreria di classi, obbligatorio per i componenti che includono codice programma.

Se si desidera creare un'estensione che include diversi componenti, è possibile svilupparli in una singola soluzione.È necessario un solo progetto VSIX.

I componenti che non richiedono codice, ad esempio gli elementi personalizzati della casella degli strumenti e i profili UML personalizzati, possono essere aggiunti direttamente al progetto VSIX senza utilizzare librerie di classi separate.I componenti che richiedono codice programma possono essere definiti più facilmente in una libreria di classi distinta.I componenti che richiedono codice includono gestori movimenti, i comandi di menu e il codice di convalida.

Per creare un progetto libreria di classi per i comandi di menu, gestori movimenti, o convalida

  1. Dal menu File, scegliere Nuovo, Progetto.

  2. In Modelli installati selezionare Visual Basic o Visual C#, quindi selezionare Libreria di classi.

Per creare un progetto VSIX

  1. Se si crea un componente con codice, è più semplice creare innanzitutto il progetto Libreria di classi.Il codice verrà aggiunto a tale progetto.

  2. Creazione di un progetto VSIX.

    1. In Esplora soluzioni, scegliere nel menu di scelta rapida della soluzione Aggiungi, Nuovo progetto.

    2. In Modelli installati espandere Visual Basic o Visual C#, quindi selezionare Estensibilità.Nella colonna centrale scegliere Progetto VSIX.

  3. Impostare il progetto VSIX come progetto di avvio della soluzione.

    • In Esplora soluzioni, dal menu di scelta rapida del progetto VSIX scegliere Imposta come progetto di avvio.
  4. Aprire source.extension.vsixmanifest.Il file verrà aperto nell'editor del manifesto.

  5. Nella scheda metadati, impostare il nome e i campi descrittivi del progetto VSIX.

  6. Nella scheda Installa destinazioni, scegliere Nuovo e impostare le versioni finali e premium di Visual Studio.

  7. Nella scheda Asset, aggiungere i componenti all'estensione di Visual Studio.

    1. Scegliere Nuovo.

    2. Per un componente con codice, impostare questi campi nella finestra di dialogo Aggiungi nuovo asset :

      Tipo =

      Microsoft.VisualStudio.MefComponent

      fonte =

      Un progetto nella soluzione corrente

      Progetto =

      Un progetto di libreria di classi

      Incorpora in questa cartella =

      (vuoto)

      Per altri tipi di componente, vedere i collegamenti nella sezione successiva.

Sviluppo del componente

Per ogni componente quale un comando di menu o un gestore movimenti, è necessario definire un gestore distinto.È possibile inserire più gestori nello stesso progetto Libreria di classi.Nella tabella seguente viene fornito un riepilogo relativo ai diversi tipi di gestore.

Tipo di estensione

Argomento

Modalità di dichiarazione di ciascun componente

Comando di menu

Procedura: definire un comando di menu in un diagramma di modellazione

[ClassDesignerExtension]

// or other diagram types

[Export(typeof(ICommandExtension))]

public class MyCommand : ICommandExtension

{...

Trascinare la selezione o fare doppio clic

Procedura: definire un gestore movimenti in un diagramma di modellazione

[ClassDesignerExtension]

// or other diagram types

[Export(typeof(IGestureExtension))]

public class MyGesture : IGestureExtension

{...

Vincolo di convalida

Procedura: definire vincoli di convalida per i modelli UML

[Export(typeof( System.Action<ValidationContext, object>))]

[ValidationMethod(ValidationCategories.Save

| ValidationCategories.Menu)]

public void ValidateSomething

(ValidationContext context, IClassifier elementToValidate)

{...}

Gestore eventi per il collegamento elemento di lavoro

Procedura: definire un gestore dei collegamenti agli elementi di lavoro

[Export(typeof(ILinkedWorkItemExtension))]

public class MyWorkItemEventHandler : ILinkedWorkItemExtension

{...

Profilo UML

Procedura: definire un profilo per estendere UML

(Da definire)

Elemento della casella degli strumenti

Procedura: definire un elemento personalizzato della Casella degli strumenti di modellazione

(Da definire)

Esecuzione di un'estensione durante lo sviluppo

Per eseguire un'estensione durante lo sviluppo

  1. Scegliere Avvia debugging dal menu Visual Studio Debug.

    Verrà eseguita la compilazione del progetto e una nuova istanza di Visual Studio verrà avviata in modalità sperimentale.

    • In alternativa è possibile scegliere Avvia senza eseguire debug.In questo modo si riduce il tempo necessario per l'avvio del programma.
  2. Creare o aprire un progetto di modellazione nell'istanza sperimentale di Visual Studio e creare o aprire un diagramma.

    L'estensione verrà caricata ed eseguita.

  3. Se è stata utilizzata l'opzione Avvia senza eseguire debug ma si desidera utilizzare il debugger, tornare all'istanza principale di Visual Studio.Scegliere Connetti a processo dal menu Debug.Nella finestra di dialogo selezionare l'istanza sperimentale di Visual Studio con nome di programma devenv.

Installazione e disinstallazione di un'estensione

Eseguire i passaggi seguenti per eseguire l'estensione nell'istanza principale di Visual Studio sul proprio computer o in altri computer.

  1. Nel computer trovare il file .vsix compilato dal progetto di estensione.

    1. In Esplora soluzioni nel menu di scelta rapida del proprio progetto, quindi selezionare Apri cartella in Windows Explorer.

    2. Individuare il file bin\*\Progetto.vsix

  2. Copiare il file .vsix nel computer di destinazione in cui si desidera installare l'estensione.Si può trattare del computer in uso o di un altro computer.

    • Il computer di destinazione deve avere una delle edizioni di Visual Studio specificato nella scheda Target di installazionesource.extension.vsixmanifest.
  3. Nel computer di destinazione, aprire il file .vsix, ad esempio facendo doppio clic su.

    Verrà visualizzato Visual Studio Extension Installer e verrà installata l'estensione.

  4. Avviare o riavviare Visual Studio.

Per disinstallare un'estensione

  1. Scegliere Gestione estensioni dal menu Strumenti.

  2. Espandere Estensioni installate.

  3. Selezionare l'estensione, quindi fare clic su Disinstalla.

Raramente, può verificarsi che un'estensione errata non venga caricata creando un rapporto nella finestra di errore. Tale estensione non viene però visualizzata in Gestione estensioni.In tal caso, è possibile rimuovere l'estensione eliminando il file dal percorso seguente, dove % LocalAppData% è in genere NomeUnità:\Users\NomeUtente\AppData\Local:

%LocalAppData%\Microsoft\VisualStudio\11.0\Extensions

Vedere anche

Concetti

Procedura: definire un profilo per estendere UML

Procedura: definire un elemento personalizzato della Casella degli strumenti di modellazione

Procedura: definire vincoli di convalida per i modelli UML

Procedura: definire un comando di menu in un diagramma di modellazione