Freigeben über


Überblick über Lösungen

Eine Lösung ist eine Gruppierung eines oder mehrerer Projekte, die zusammenarbeiten, um eine Anwendung zu erstellen. Die Projekt- und Statusinformationen zu der Lösung werden in zwei verschiedenen Lösungsdateien gespeichert. Die Lösungsdatei (SLN) ist textbasiert und kann unter Quellcodeverwaltung platziert und zwischen Benutzern freigegeben werden. Die Lösungsbenutzeroptionsdatei (SUO) ist binär. Daher kann die SUO-Datei nicht unter Quellcodeverwaltung platziert werden und enthält benutzerspezifische Informationen.

Jeder VSPackage kann in einen beliebigen Lösungsdateityp schreiben. Aufgrund der Art der Dateien sind zwei verschiedene Schnittstellen implementiert, um sie zu schreiben. Die IVsPersistSolutionProps Schnittstelle schreibt Textinformationen in die SLN-Datei und die IVsPersistSolutionOpts Schnittstelle schreibt binäre Datenströme in die SUO-Datei.

Hinweis

Ein Projekt muss keinen expliziten Eintrag für sich selbst in die Projektmappendatei schreiben; die Umgebung behandelt dies für das Projekt. Daher müssen Sie Ihr VSPackage nicht auf diese Weise registrieren, es sei denn, Sie möchten der Lösungsdatei zusätzlichen Inhalt hinzufügen.

Jede VSPackage unterstützende Lösungspersistenz verwendet drei Schnittstellen, die IVsSolutionPersistence Schnittstelle, die von der Umgebung implementiert und vom VSPackage aufgerufen wird, und IVsPersistSolutionProps und IVsPersistSolutionOpts, die beide vom VSPackage implementiert werden. Die IVsPersistSolutionOpts Schnittstelle muss nur implementiert werden, wenn private Informationen vom VSPackage in die SUO-Datei geschrieben werden sollen.

Wenn eine Lösung geöffnet wird, erfolgt der folgende Prozess.

  1. Die Umgebung liest die Lösung.

  2. Wenn die Umgebung einen CLSIDfindet, wird das entsprechende VSPackage geladen.

  3. Wenn ein VSPackage geladen wird, ruft die Umgebung die IVsPackage Schnittstelle für die Schnittstelle aufQueryInterface, die das VSPackage erfordert.

    • Beim Lesen aus einer SLN-Datei wird die Umgebung aufgerufen QueryInterfaceIVsPersistSolutionProps.

    • Beim Lesen aus einer SUO-Datei wird die Umgebung aufgerufen QueryInterfaceIVsPersistSolutionOpts.

    Spezifische Informationen zur Verwendung dieser Dateien finden Sie in der Datei "Lösung" (SLN) und "Lösungsbenutzeroptionen(.suo)".

Hinweis

Wenn Sie eine neue Lösungskonfiguration erstellen möchten, die aus zwei Projektkonfigurationen besteht und ein Drittel aus dem Build ausgeschlossen wird, müssen Sie die Benutzeroberfläche oder Automatisierung der Eigenschaftenseiten verwenden. Sie können die Konfigurationen des Lösungsbuild-Managers und deren Eigenschaften nicht direkt ändern, aber Sie können den Lösungsbuild-Manager mithilfe der SolutionBuild Klasse von DTE im Automatisierungsmodell bearbeiten. Weitere Informationen zum Konfigurieren von Lösungen finden Sie unter "Lösungskonfiguration".