Freigeben über


Projektkonfigurationsobjekt

Das Projektkonfigurationsobjekt verwaltet die Anzeige von Konfigurationsinformationen auf der Benutzeroberfläche.

Visual Studio-Projektkonfiguration

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 IVsCfgdiesen 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 IVsCfgProvider2Objekts. 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.

Siehe auch