Modelli di progetto generici e specifici del linguaggio
In Visual Studio sono disponibili due tipi di modelli di progetto: un modello generico e un modello specifico del linguaggio.
Modello di progetto generico
Il modello di progetto generico è rappresentato dai tipi riportati di seguito:
Nome oggetto |
Descrizione |
---|---|
Insieme Projects |
Rappresenta tutti i progetti della soluzione. |
Oggetto Project |
Rappresenta un progetto della soluzione. |
Insieme ProjectItems |
Rappresenta tutti gli elementi di un progetto specifico. |
Oggetto ProjectItem |
Rappresenta un elemento di un progetto specifico. |
Questi oggetti consentono di modificare i progetti di qualsiasi tipo di linguaggio in Visual Studio. Mediante questi oggetti è possibile:
Salvare o eliminare un progetto.
Creare un nuovo elemento per un progetto, in base ai modelli di Visual Studio.
Aggiungere a un progetto nuovi elementi da file esistenti.
Rimuovere elementi da un progetto.
Aprire, salvare ed eliminare elementi da un progetto.
Modello di progetto specifico del linguaggio
Oltre agli oggetti relativi al progetto generico, un insieme di spazi dei nomi rappresenta il progetto specifico del linguaggio di programmazione e le proprietà degli elementi di progetto. Questi spazi dei nomi sono:
Gli oggetti principali che rappresentano progetti di linguaggio sono VSProject e VSProject2. VSProject2 deriva da VSProject, che a sua volta deriva da Project. Gli elementi di progetto sono rappresentati da oggetti VSProjectItem.
Linguaggio di programmazione |
Spazi dei nomi |
---|---|
Visual C# |
|
Visual Basic |
|
Visual C++ |
Microsoft.VisualStudio.VCProject e Microsoft.VisualStudio.VCProjectEngine. |
Tutti i linguaggi di programmazione |
Poiché gli oggetti specifici del linguaggio derivano da oggetti generici, funzionano essenzialmente nello stesso modo, ad eccezione del fatto che forniscono accesso a proprietà, metodi ed eventi aggiuntivi a cui non è possibile accedere con gli oggetti Project e ProjectItem generici.
Per ulteriori informazioni su come utilizzare il modello di progetto specifico del linguaggio, vedere Introduzione all'estensibilità dei progetti.
Modifica per i progetti Visual C++ di Visual Studio.NET 2003
In Visual Studio.NET 2003 e versioni successive, non è più richiesta una gestione speciale per l'insieme ProjectItems di Visual C++. Se nell'insieme Projects di Visual C++ tutti i file di progetto Visual C++ venivano archiviati in un elenco semplice, i file vengono ora archiviati in modo gerarchico, come negli altri linguaggi di programmazione.
Poiché questa modifica può influire sul codice esistente, è possibile emulare il comportamento precedente nel nuovo modello a oggetti specifico del progetto quando si tenta di indicizzare l'insieme ProjectItems per verificare la presenza di un file nel progetto. La differenza principale consiste nel fatto che ora è possibile tornare al modello a oggetti DTE chiamando .Object in un oggetto Visual C++.
[Visual Basic]
Dim proj as VCProject = DTE.ActiveSolutionProjects(1).Object
Dim fileColl as IVCCollection = proj.Files
Dim file as VCFile = fileColl.Item("MyFile.cpp")
Dim projItem as ProjectItem = file.Object
Vedere anche
Attività
Procedura: creare progetti a livello di codice
Procedura: creare elementi di progetto a livello di codice