Condividi tramite


Oggetto di configurazione del progetto

L'oggetto di configurazione del progetto gestisce la visualizzazione delle informazioni di configurazione nell'interfaccia utente.

Configurazione del progetto di Visual Studio

Pagine delle proprietà di configurazione del progetto

Il provider di configurazione del progetto gestisce le configurazioni del progetto. L'ambiente e altri pacchetti, per ottenere l'accesso e recuperare informazioni sulle configurazioni di un progetto, chiamare le interfacce collegate all'oggetto Provider di configurazione di Project.

Nota

Non è possibile creare o modificare i file di configurazione della soluzione a livello di codice. È necessario usare DTE.SolutionBuilder. Per altre informazioni, vedere Configurazione della soluzione.

Per pubblicare un nome visualizzato da usare nell'interfaccia utente di configurazione, il progetto deve implementare get_DisplayName. L'ambiente chiama GetCfgs, che restituisce un elenco di IVsCfg puntatori che è possibile usare per ottenere i nomi visualizzati per le informazioni di configurazione e piattaforma da elencare nell'interfaccia utente dell'ambiente. La configurazione attiva e la piattaforma sono determinate dalla configurazione del progetto archiviata nella configurazione della soluzione attiva. Il FindActiveProjectCfg metodo può essere usato per recuperare la configurazione del progetto attiva.

L'oggetto IVsProjectCfgProvider può essere implementato facoltativamente nell'oggetto IVsCfgProvider2 con l'oggetto IVsCfgProviderEventsHelper per consentire di recuperare un IVsProjectCfg2 oggetto in base al nome di configurazione del progetto canonico.

Un altro modo per fornire all'ambiente e ad altri progetti l'accesso alle configurazioni del progetto consiste nel fornire ai progetti un'implementazione del IVsCfgProvider2::GetCfgs metodo per restituire uno o più oggetti di configurazione. I progetti possono anche implementare IVsProjectCfg2, che eredita da IVsProjectCfg e quindi da IVsCfg, per fornire informazioni specifiche della configurazione. IVsCfgProvider2 supporta piattaforme e funzionalità per l'aggiunta, l'eliminazione e la ridenominazione delle configurazioni di progetto.

Nota

Poiché Visual Studio non è più limitato a due tipi di configurazione, il codice che elabora le configurazioni non deve essere scritto con presupposti sul numero di configurazioni, né deve essere scritto con il presupposto che un progetto con una sola configurazione sia necessariamente Debug o Retail. Questo rende l'uso di get_IsReleaseOnly e get_IsDebugOnly obsoleto.

La chiamata QueryInterface all'oggetto restituito da IVsGetCfgProvider::GetCfgProvider recupera IVsCfgProvider2. Se IVsGetCfgProvider non viene trovato chiamando QueryInterface sull'oggetto progetto, è possibile accedere all'oggetto IVsProject3 provider di configurazione chiamando QueryInterface sull'oggetto browser radice della gerarchia per l'oggetto restituito per IVsHierarchy::GetProperty(VSITEM_ROOT, VSHPROPID_BrowseObject)o tramite un puntatore al provider di configurazione restituito per IVsHierarchy::GetProperty(VSITEM_ROOT, VSHPROPID_ConfigurationProvider).

IVsProjectCfg2 fornisce principalmente l'accesso agli oggetti di gestione della compilazione, del debug e della distribuzione e consente ai progetti di raggruppare gli output. I metodi di e IVsProjectCfg2 possono essere usati per implementare IVsBuildableProjectCfg per gestire il processo di compilazione e IVsOutputGroup i puntatori per i gruppi di IVsProjectCfg output di una configurazione.

Il progetto deve restituire lo stesso numero di gruppi per ogni configurazione supportata anche se il numero di output contenuti in un gruppo può variare dalla configurazione alla configurazione. I gruppi devono inoltre avere le stesse informazioni sull'identificatore (nome canonico, nome visualizzato e informazioni sul gruppo) dalla configurazione alla configurazione all'interno di un progetto. Per altre informazioni, vedere Configurazione del progetto per l'output.

Per abilitare il debug, le configurazioni devono implementare IVsDebuggableProjectCfg. IVsDebuggableProjectCfg è un'interfaccia facoltativa implementata dai progetti per consentire al debugger di avviare una configurazione e viene implementata nell'oggetto di configurazione con IVsCfg e IVsProjectCfg. L'ambiente lo chiama quando l'utente sceglie di avviare il debugger premendo F5.

ISpecifyPropertyPages e IDispatch vengono usati insieme alle pagine delle proprietà per recuperare e visualizzare informazioni dipendenti dalla configurazione all'utente. Per altre informazioni, vedere Pagine delle proprietà.

Vedi anche