Share via


Procedura: leggere un modello UML nel codice del programma

È possibile caricare un modello UML e i relativi diagrammi utilizzando l'API UML.

Lettura di un modello nel codice di programma

Per accedere al contenuto di un modello senza visualizzarlo in una finestra di Visual Studio, utilizzare ModelingProject.LoadReadOnly().

Ad esempio:

using Microsoft.VisualStudio.Uml.Classes; 
               // for IElement
using Microsoft.VisualStudio.ArchitectureTools.Extensibility; 
               // for ModelingProject
using Microsoft.VisualStudio.ArchitectureTools.Extensibility.Uml;
               // for IModelStore
... 
string projectPath = @"C:\MyProjectFolder\MyProject.modelproj";
using (IModelingProjectReader projectReader =
           ModelingProject.LoadReadOnly(projectPath))
{
   IModelStore store = projectReader.Store;
   foreach (IClass umlClass in store.AllInstances<IClass>())
   { 
       ...
   }
}

Per leggere le forme in un diagramma è necessario leggere il progetto, quindi il diagramma.

Ad esempio:

using Microsoft.VisualStudio.ArchitectureTools.Extensibility.Presentation; 
                             // for IDiagram
...
foreach (string diagramFile in projectReader. DiagramFileNames)
{ 
  IDiagram diagram = projectReader.LoadDiagram(diagramFile);
  foreach (IShape<IElement> shape 
         in diagram.GetChildShapes<IElement>())
  { ... }
}

Metodi alternativi

Per molte applicazioni, Modelbus di Visual Studio consente di fare riferimento a modelli ed elementi all'interno delle applicazioni stesse, garantendo maggiore solidità e flessibilità rispetto ai metodi descritti in questo argomento. Fornisce un metodo standard per stabilire collegamenti tra elementi arbitrari, negli stessi modelli o in modelli diversi. Per ulteriori informazioni, vedere Procedura: integrare i modelli UML con altri modelli e strumenti.

È inoltre possibile aprire modelli e diagrammi nell'interfaccia utente utilizzando l'API di Visual Studio. Per ulteriori informazioni, vedere Procedura: aprire un modello UML tramite l'API di Visual Studio.

Applicazioni autonome

L'esempio della sezione precedente funziona nelle estensioni di Visual Studio. È possibile leggere un modello in un'applicazione autonoma, ma è necessario aggiungere alcuni riferimenti al progetto Visual Studio.

Nota

È probabile che i dettagli relativi alla modalità di lettura di un modello in un'applicazione autonoma siano diversi nelle versioni future del prodotto. Alcune funzionalità accessibili nella versione corrente potrebbero non essere più disponibili nelle versioni future.

Per aggiungere riferimenti per leggere un modello in un'applicazione autonoma.

  1. In Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto in cui viene compilata l'applicazione, quindi scegliere Proprietà. Nella scheda Applicazione dell'editor delle proprietà impostare Framework di destinazione su .NET Framework 4.

  2. Aggiungere i riferimenti .NET necessari per l'accesso ai modelli UML, di solito:

    • Microsoft.VisualStudio.Uml.Interfaces.dll

    • Microsoft.VisualStudio.ArchitectureTools.Extensibility.dll

  3. Oltre ai riferimenti elencati nelle sezioni precedenti, aggiungere i riferimenti al progetto seguenti da \Program Files\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies:

    • Microsoft.VisualStudio.Uml.dll

    • Microsoft.VisualStudio.TeamArchitect.ModelStore.Dsl.dll

    Per leggere diagrammi nell'applicazione, potrebbero inoltre essere necessari i seguenti riferimenti:

    • Microsoft.VisualStudio.TeamArchitect.ActivityDesigner.Dsl.dll

    • Microsoft.VisualStudio.TeamArchitect.ComponentDesigner.Dsl.dll

    • Microsoft.VisualStudio.TeamArchitect.LogicalClassDesigner.Dsl.dll

    • Microsoft.VisualStudio.TeamArchitect.SequenceDesigner.Dsl.dll

    • Microsoft.VisualStudio.TeamArchitect.UseCase.Dsl.dll

Vedere anche

Concetti

Programmazione con l'API UML

Estensione di modelli e diagrammi UML