Share via


Modelli di progetto generici e specifici del linguaggio

Aggiornamento: novembre 2007

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 i progetti in 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#

VSLangProj, VSLangProj2 e VSLangProj80.

Visual Basic

VSLangProj, VSLangProj2 e VSLangProj80.

Visual J#

VSLangProj, VSLangProj2 e VSLangProj80.

Visual C++

Microsoft.VisualStudio.VCProject e Microsoft.VisualStudio.VCProjectEngine.

Tutti i linguaggi di programmazione

EnvDTE e EnvDTE80.

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'extensibility 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

Altre risorse

Controllo della soluzione e dei relativi progetti