Freigeben über


Konfigurationsoptionen – Übersicht

Projekte in Visual Studio können mehrere Konfigurationen unterstützen, die erstellt, debuggt, ausgeführt und/oder bereitgestellt werden können. Eine Konfiguration ist ein Build-Typ, der mit einem benannten Satz von Eigenschaften beschrieben wird, in der Regel Compiler-Schalter und Dateispeicherorte. Standardmäßig enthalten neue Lösungen zwei Konfigurationen, Debuggen und Freigeben. Diese Konfigurationen können mit ihren Standardeinstellungen angewendet oder an Ihre spezifischen Lösungs- und/oder Projektanforderungen angepasst werden. Einige Pakete können auf zwei Arten erstellt werden: als ActiveX-Editor oder als integrierte Komponente. Die Projekte müssen jedoch nicht mehrere Konfigurationen unterstützen. Wenn nur eine Konfiguration verfügbar ist, wird diese Konfiguration in alle Lösungskonfigurationen eingefügt.

Konfigurationen bestehen in der Regel aus zwei Teilen: dem Konfigurationsnamen (wie Debuggen oder Freigeben) und den Plattformeinstellungen. Der Plattformname einer Konfiguration identifiziert die Umgebung, auf die die Konfiguration abzielt, wie z. B. ein API-Set oder eine Betriebssystemplattform. Benutzer von Visual Studio können keine Plattform erstellen; sie müssen aus den Auswahlmöglichkeiten eines VSPackage-Projekts wählen. Wenn ein Benutzer ein VSPackage installiert, kann die während der Entwicklung des Pakets erstellte Bereitstellungsplattform auf der Grundlage der vom Ersteller des Pakets festgelegten Kriterien jeden beliebigen Plattformnamen anzeigen. Der Benutzer kann dann aus der Liste der Plattformen auswählen, die über das VSPackage zur Verfügung gestellt werden, wenn die Eigenschaftenseiten instanziiert werden.

Plattformnamen sind optional, da nicht alle Projekte das Konzept der Plattformen unterstützen. Wenn einer Konfiguration ein Plattformname fehlt, wird in der Benutzeroberfläche die Zeichenfolge N/V angezeigt.

Jede Lösung hat ihren eigenen Satz von Konfigurationen, von denen jeweils nur eine aktiv sein kann. Eine Lösungskonfiguration ist ein Satz von höchstens einer Konfiguration aus jedem Projekt. Die „nicht mehr als“-Bestimmung ist auf die Möglichkeit zurückzuführen, ein Projekt aus einer Lösungskonfiguration auszuschließen. Benutzer können ihre eigenen individuellen Lösungskonfigurationen erstellen.

Die folgende Tabelle veranschaulicht die typischen Konfigurationen, die für ein Projekt eingerichtet werden. Die Zeilen sind mit den Konfigurationsnamen und die Spalten mit den Plattformnamen beschriftet.

Konfigurationsname Win32-Plattform Win64-Plattform
Debuggen <Debuggen von Win32-Einstellungen> <Debuggen von Win64-Einstellungen>
Freigeben <Win32-Einstellungen freigeben> <Win64-Einstellungen freigeben>
MyConfig N/V <MyConfig Win64-Einstellungen>

Hinweis

Sie können keine MyConfig-Lösungskonfiguration erstellen, die eine Win32-Plattform ausschließt, es sei denn, das Projekt, auf das Sie abzielen, unterstützt Win32 nicht.

Wenn Sie die aktive Konfiguration für eine Projektmappe ändern, wird der Satz von Projektkonfigurationen ausgewählt, der in dieser Projektmappe erstellt, ausgeführt, debuggt oder bereitgestellt wird. Wenn Sie beispielsweise die Konfiguration der aktiven Projektmappe von Freigeben auf Debuggen ändern, werden alle Projekte innerhalb dieser Projektmappe automatisch mit der in der Debug-Konfiguration der Projektmappe angegebenen Projektkonfiguration erstellt. Die Konfigurationen der Projekte tragen ebenfalls den Namen Debuggen, es sei denn, der Benutzer hat im Configuration Manager der Umgebung manuelle Änderungen vorgenommen.

Zu den Eigenschaften der Lösungskonfiguration, die für jedes Projekt gespeichert werden, gehören der Projektname, der Name der Projektkonfiguration, Flags, die angeben, ob das Projekt erstellt oder bereitgestellt werden soll, und der Plattformname. Weitere Informationen finden Sie unter Lösungskonfiguration.

Der Benutzer kann die Konfigurationsparameter der Lösung anzeigen und einstellen, indem er die Lösung in der Hierarchie (Projektmappen-Explorer) auswählt und die Eigenschaftenseiten öffnet. In ähnlicher Weise können Sie Projektkonfigurationsparameter anzeigen und einstellen, indem Sie ein Projekt im Projektmappen-Explorer auswählen und die Eigenschaftenseiten für dieses Projekt öffnen.

Der Benutzer kann falls erforderlich auch ein Projekt mit den Einstellungen der Freigabekonfiguration und alle anderen mit den Einstellungen der Debugging-Konfiguration erstellen. Weitere Informationen finden Sie unter Projektkonfiguration für das Anlegen.

Das folgende Diagramm zeigt, wie die Schnittstellen zur Unterstützung von Projektmappen- und Projektkonfigurationen implementiert sind:

Grafik der Konfigurationsschnittstellen

Konfigurationsschnittstellen

Einige Hinweise zum vorherigen Diagramm:

  • IDispatch ist im Konfigurationsobjekt als optional gekennzeichnet. Optional ist vor allem, die Konfigurationsschnittstellen auf dem Browse-Objekt zu haben.

  • IVsDebuggableProjectCfg ist im Konfigurationsobjekt als optional gekennzeichnet, wird aber zur Unterstützung der Fehlersuche benötigt.

  • IVsProjectCfg2 ist im Konfigurationsobjekt als optional gekennzeichnet, wird aber für die Unterstützung der Ausgabegruppierung benötigt.

  • Das Objekt Config Provider ist als optionales Objekt gekennzeichnet, aber die Option ist, wo es implementiert wird. Sie können das Objekt in das Projektobjekt oder in ein separates Objekt implementieren.

  • IVsCfgProvider2 wird für die Plattformunterstützung und die Bearbeitung der Konfiguration benötigt. IVsCfgProvider ist ausreichend, wenn Sie diese Funktionalität nicht implementieren.

  • Einige dieser Objekte, die im Diagramm als separate Objekte dargestellt sind, können in einer Klasse zusammengefasst werden, wenn dies aufgrund Ihrer spezifischen Entwurfsanforderungen sinnvoll ist. In den anderen Themen dieses Abschnitts werden jedoch die Objekte und die mit diesen Objekten verbundenen Schnittstellen entsprechend dem im Diagramm dargestellten Szenario behandelt.

  • Bestimmte Objekte werden separat implementiert. Die Erstellung von Projekten und Projektmappen erfolgt beispielsweise in getrennten Threads, und das Objekt zur Verwaltung der Projektmappe lebt getrennt von dem Objekt, das die Konfiguration für die Projektmappe beschreibt.

    Weitere Informationen zu den Schnittstellen des Konfigurationsobjekts und des Objekts des Konfigurationsanbieters im vorherigen Diagramm finden Sie unter Projektkonfigurationsobjekt. Darüber hinaus bietet die Projektkonfiguration für die Erstellung weitere Informationen zu den Schnittstellen des Configuration Builders und der Build-Abhängigkeitsobjekte. Die Projektkonfiguration für die Verwaltung der Bereitstellung beschreibt die Schnittstellen, die mit dem Configuration Deployer und den Dependenzobjekten verbunden sind. Schließlich beschreibt die Projektkonfiguration für die Ausgabe die Schnittstellen für Ausgabegruppen und Ausgabeobjekte sowie die Verwendung von Eigenschaftsseiten zum Anzeigen und Einstellen konfigurationsabhängiger Eigenschaften.