Panoramica delle opzioni di configurazione
I progetti in Visual Studio possono supportare più configurazioni che possono essere compilate, di cui è possibile eseguire il debug, l'esecuzione e/o la distribuzione. Una configurazione è un tipo di compilazione descritto con un set denominato di proprietà, in genere cambi del compilatore e percorsi di file. Per impostazione predefinita, le nuove soluzioni contengono due configurazioni, Debug e Release. Queste configurazioni possono essere applicate usando le impostazioni predefinite o modificate per soddisfare i requisiti specifici della soluzione e/o del progetto. Alcuni pacchetti possono essere compilati in due modi: come editor ActiveX o come componente sul posto. I progetti non devono tuttavia supportare più configurazioni. Se è disponibile una sola configurazione, tale configurazione viene mappata in tutte le configurazioni della soluzione.
Le configurazioni sono in genere costituite da due parti: il nome della configurazione (ad esempio Debug o Versione) e le impostazioni della piattaforma. Il nome della piattaforma di una configurazione identifica l'ambiente di destinazione della configurazione, ad esempio un set di API o una piattaforma del sistema operativo. Gli utenti di Visual Studio non possono creare una piattaforma; devono scegliere tra le selezioni consentite da un progetto VSPackage. Quando un utente installa un PACCHETTO VSPackage, la piattaforma di distribuzione creata durante lo sviluppo del pacchetto può visualizzare qualsiasi nome di piattaforma desiderato in base a qualsiasi criterio impostato dall'autore del pacchetto. L'utente può quindi selezionare dall'elenco delle piattaforme rese disponibili tramite vsPackage quando viene creata un'istanza delle pagine delle proprietà.
I nomi delle piattaforme sono facoltativi perché non tutti i progetti supportano il concetto di piattaforme. Quando una configurazione non dispone di un nome di piattaforma, la stringa N/A viene visualizzata nell'interfaccia utente.
Ogni soluzione ha un proprio set di configurazioni, solo una delle quali può essere attiva alla volta. Una configurazione della soluzione è un set di non più di una configurazione da ogni progetto. La clausola "non più di" è dovuta all'opzione di escludere un progetto da una configurazione della soluzione. Gli utenti possono creare configurazioni personalizzate della soluzione.
Nella tabella seguente viene illustrata la configurazione tipica per un progetto. Le righe vengono etichettate con nomi di configurazione e le colonne con nomi di piattaforma.
Nome configurazione | Piattaforma: Win32 | Piattaforma: Win64 |
---|---|---|
Debug | <Eseguire il debug delle impostazioni win32> | <Eseguire il debug delle impostazioni win64> |
Versione | <Rilascio delle impostazioni win32> | <Rilascio delle impostazioni win64> |
MyConfig | N/D | <Impostazioni di MyConfig Win64> |
Nota
Non è possibile creare una configurazione della soluzione MyConfig che esclude una piattaforma Win32 a meno che il progetto di destinazione non supporti Win32.
La modifica della configurazione attiva per una soluzione consente di selezionare il set di configurazioni di progetto compilate, eseguite, di cui è stato eseguito il debug o distribuite in tale soluzione. Ad esempio, se si modifica la configurazione della soluzione attiva da Release a Debug, tutti i progetti all'interno di tale soluzione vengono compilati automaticamente con la configurazione dei progetti indicata nella configurazione di debug della soluzione. Le configurazioni dei progetti sono denominate anche Debug , a meno che l'utente non abbia apportato modifiche manuali in Configuration Manager dell'ambiente.
Le proprietà di configurazione della soluzione archiviate per ogni progetto includono il nome del progetto, il nome della configurazione del progetto, i flag per indicare se compilare o meno o meno eseguire la distribuzione e il nome della piattaforma. Per altre informazioni, vedere Configurazione della soluzione.
L'utente può visualizzare e impostare i parametri di configurazione della soluzione selezionando la soluzione nella gerarchia (Esplora soluzioni) e aprendo le pagine delle proprietà. Analogamente, è possibile visualizzare e impostare i parametri di configurazione del progetto selezionando un progetto in Esplora soluzioni e aprendo le pagine delle proprietà per tale progetto.
L'utente può anche compilare un progetto usando le impostazioni di configurazione del rilascio e tutte le altre con le impostazioni di configurazione di debug, se necessario. Per altre informazioni, vedere Configurazione del progetto per la compilazione.
Il diagramma seguente illustra come vengono implementate le interfacce che supportano le configurazioni della soluzione e del progetto:
Interfacce di configurazione
Alcune note relative al diagramma precedente:
IDispatch
è contrassegnato come facoltativo nell'oggetto di configurazione. In particolare, è facoltativo avere le interfacce di configurazione nell'oggetto Browse.IVsDebuggableProjectCfg
è contrassegnato come facoltativo nell'oggetto di configurazione, ma è necessario per il supporto del debug.IVsProjectCfg2
è contrassegnato come facoltativo nell'oggetto di configurazione, ma è necessario per il supporto del raggruppamento di output.L'oggetto Config Provider è contrassegnato come oggetto facoltativo, ma l'opzione è la posizione in cui implementarla. È possibile implementare l'oggetto nell'oggetto progetto o in un oggetto separato.
IVsCfgProvider2
è necessario per il supporto della piattaforma e la modifica della configurazione.IVsCfgProvider
è sufficiente se non si implementa tale funzionalità.Alcuni di questi oggetti visualizzati nel diagramma come oggetti separati possono essere combinati nella stessa classe in cui pratica in base ai requisiti di progettazione specifici. In altri argomenti di questa sezione, tuttavia, gli oggetti e le interfacce associati a tali oggetti verranno illustrati in base allo scenario presentato nel diagramma.
Alcuni oggetti vengono implementati separatamente. Ad esempio, la compilazione di progetti e soluzioni avviene in thread separati e l'oggetto per gestire la compilazione si trova separatamente dall'oggetto che descrive la configurazione per la compilazione.
Per altre informazioni sulle interfacce degli oggetti di configurazione e sulle interfacce degli oggetti del provider di configurazione nel diagramma precedente, vedere Oggetto di configurazione del progetto. Inoltre, la configurazione del progetto per la compilazione fornisce altre informazioni sulle interfacce del generatore di configurazione e sull'oggetto di compilazione delle dipendenze e sulla configurazione di Project per la gestione della distribuzione descrive ulteriormente le interfacce collegate agli oggetti di dipendenza della distribuzione e distribuzione della configurazione. Infine, la configurazione del progetto per l'output descrive le interfacce degli oggetti di output e del gruppo di output e l'uso delle pagine delle proprietà per visualizzare e impostare le proprietà dipendenti dalla configurazione.