Projektkonfigurationsobjekt
Das Projektkonfigurationsobjekt verwaltet die Anzeige von Konfigurationsinformationen auf der Benutzeroberfläche.
Eigenschaftenseiten der Project-Konfiguration
Der Projektkonfigurationsanbieter verwaltet die Projektkonfigurationen. Die Umgebung und andere Pakete, um Zugriff auf und Abrufen von Informationen zu den Konfigurationen eines Projekts zu erhalten, rufen Sie die Schnittstellen auf, die mit dem Project Configuration Provider-Objekt verbunden sind.
Hinweis
Programmgesteuertes Erstellen oder Bearbeiten von Lösungskonfigurationsdateien ist nicht möglich. Sie müssen .DTE.SolutionBuilder
Weitere Informationen finden Sie unter Lösungskonfiguration .
Um einen Anzeigenamen zu veröffentlichen, der in der Konfigurations-UI verwendet werden soll, sollte Ihr Projekt implementieren get_DisplayName. Die Umgebung ruft eine GetCfgsListe von IVsCfg
Zeigern zurück, die Sie verwenden können, um die Anzeigenamen für die Konfigurations- und Plattforminformationen abzurufen, die in der Benutzeroberfläche der Umgebung aufgeführt werden sollen. Die aktive Konfiguration und Plattform werden durch die konfiguration des Projekts bestimmt, die in der aktiven Lösungskonfiguration gespeichert ist. Die FindActiveProjectCfg Methode kann zum Abrufen der aktiven Projektkonfiguration verwendet werden.
Das IVsProjectCfgProvider Objekt kann optional für das IVsCfgProvider2 Objekt mit dem IVsCfgProviderEventsHelper Objekt implementiert werden, damit Sie ein IVsProjectCfg2
Objekt basierend auf dem kanonischen Projektkonfigurationsnamen abrufen können.
Eine weitere Möglichkeit zum Bereitstellen der Umgebung und anderer Projekte mit Zugriff auf Projektkonfigurationen ist die Bereitstellung einer Implementierung der IVsCfgProvider2::GetCfgs
Methode zum Zurückgeben eines oder mehrerer Konfigurationsobjekte. Die Projekte können auch implementieren IVsProjectCfg2, die von IVsProjectCfg
und damit von IVsCfg
diesen erben , um konfigurationsspezifische Informationen bereitzustellen. IVsCfgProvider2 unterstützt Plattformen und Funktionen zum Hinzufügen, Löschen und Umbenennen von Projektkonfigurationen.
Hinweis
Da Visual Studio nicht mehr auf zwei Konfigurationstypen beschränkt ist, sollten Code, der Konfigurationen verarbeitet, nicht mit Annahmen über die Anzahl der Konfigurationen geschrieben werden, oder es sollte mit der Annahme geschrieben werden, dass ein Projekt, das nur eine Konfiguration aufweist, notwendigerweise entweder Debug oder Retail ist. Dies macht die Verwendung und get_IsReleaseOnly get_IsDebugOnly veraltet.
Das Aufrufen QueryInterface
des vom IVsGetCfgProvider::GetCfgProvider
Abruf zurückgegebenen IVsCfgProvider2
Objekts. Wenn IVsGetCfgProvider
das Projektobjekt nicht gefunden QueryInterface
IVsProject3
wird, können Sie auf das Konfigurationsanbieterobjekt zugreifen, indem QueryInterface
Sie das Hierarchiestammbrowserobjekt für das zurückgegebene IVsHierarchy::GetProperty(VSITEM_ROOT, VSHPROPID_BrowseObject)
Objekt oder über einen Zeiger auf den konfigurationsanbieter aufrufen, für den zurückgegeben wird IVsHierarchy::GetProperty(VSITEM_ROOT, VSHPROPID_ConfigurationProvider)
.
IVsProjectCfg2
bietet in erster Linie Zugriff auf Build-, Debug- und Bereitstellungsverwaltungsobjekte und ermöglicht Projekten die Freiheit, Ausgaben zu gruppieren. Die Methoden und IVsProjectCfg
IVsProjectCfg2
Methoden können verwendet werden, um den Buildprozess zu verwalten IVsBuildableProjectCfg , und IVsOutputGroup Zeiger für die Ausgabegruppen einer Konfiguration.
Das Projekt muss die gleiche Anzahl von Gruppen für jede Konfiguration zurückgeben, die unterstützt wird, obwohl die Anzahl der in einer Gruppe enthaltenen Ausgaben von Konfiguration zu Konfiguration variieren kann. Die Gruppen müssen auch über die gleichen Bezeichnerinformationen (kanonischer Name, Anzeigename und Gruppeninformationen) von der Konfiguration bis zur Konfiguration innerhalb eines Projekts verfügen. Weitere Informationen finden Sie unter Project Configuration for Output.
Um das Debuggen zu aktivieren, sollten Ihre Konfigurationen implementiert werden IVsDebuggableProjectCfg. IVsDebuggableProjectCfg
ist eine optionale Schnittstelle, die von Projekten implementiert wird, um es dem Debugger zu ermöglichen, eine Konfiguration zu starten und für das Konfigurationsobjekt mit IVsCfg
und IVsProjectCfg
. Die Umgebung ruft sie auf, wenn der Benutzer den Debugger starten möchte, indem er F5 drückt.
ISpecifyPropertyPages
und IDispatch
werden zusammen mit Eigenschaftenseiten verwendet, um konfigurationsabhängige Informationen für den Benutzer abzurufen und anzuzeigen. Weitere Informationen finden Sie unter Eigenschaftenseiten.