Ü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.
Die Umgebung liest die Lösung.
Wenn die Umgebung einen
CLSID
findet, wird das entsprechende VSPackage geladen.Wenn ein VSPackage geladen wird, ruft die Umgebung die IVsPackage Schnittstelle für die Schnittstelle auf
QueryInterface
, die das VSPackage erfordert.Beim Lesen aus einer SLN-Datei wird die Umgebung aufgerufen
QueryInterface
IVsPersistSolutionProps
.Beim Lesen aus einer SUO-Datei wird die Umgebung aufgerufen
QueryInterface
IVsPersistSolutionOpts
.
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".