Projektmappen-Übersicht
Eine Lösung ist eine Gruppe von einem oder mehreren Projekten, die zusammenarbeiten, um eine Anwendung zu erstellen. Das Projekt und die Statusinformationen Betreffend die Projektmappe werden in zwei verschiedenen Projektmappendateien gespeichert. Die Projektmappendatei (.sln) basiert, ist der Text und kann in einem Quellcodeverwaltungssystem gespeichert werden und zwischen Benutzern gemeinsam genutzt werden. Die Datei der Lösung benutzeroption (.suo) ist binär sein. Daher kann die SUO-Datei gespeichert werden und nicht unter Quellcodeverwaltung benutzerspezifische Informationen enthält. Diese Dateien sind Dateien der Gruppe (.vbg), die in Visual Basic oder im Arbeitsbereich (.dsw) und in den Dateien der Benutzeroptionen (.opt), die in früheren Versionen von Visual C++verwendet werden.
Jedes VSPackage kann auf einen Typ Projektmappendatei schreiben. Aufgrund der Art der Dateien, gibt es zwei verschiedene Schnittstellen, die implementiert werden, um sie zu schreiben. Die Schnittstelle IVsPersistSolutionProps Textinformationen in der SLN-Datei, und die IVsPersistSolutionOpts-Schnittstelle schreibt Binärstreams der SUO-Datei.
registriert sich selbst als ein VSPackage Sie im permanenten Speicher verwendet werden, indem ein Schlüssel der obersten Ebene in der Registrierung einsetzt, die SolutionPersistence aufgerufen wird. Unter dem besteht aus einer Reihe von Schlüsseln, die mit einem benutzerfreundlichen Namen bezeichnet werden (im Fall des Projektmappen-Extender beispiels, SolutionNotes).
Der Ordner enthält das standardwert REG_SZ (GUID) für ein VSPackage wie in der folgenden Tabelle dargestellt.
[HKLM \ <Registrierungs-Stamm Anwendungs-ID> \ SolutionPersistance \ <Der Typname>]
Name |
Typ |
Daten |
Beschreibung |
---|---|---|---|
@ |
REG_SZ |
GUID |
Die GUID VSPackages. |
Hinweis
Ein Projekt muss explizit einen Eintrag für nicht in die Projektmappendatei schreiben. die Umgebung behandelt die für das Projekt.Daher es sei denn, Sie zusätzlichen Inhalt der Projektmappendatei ausdrücklich hinzufügen möchten, müssen Sie ein VSPackage um auf diese Weise zu registrieren.
Jedes VSPackages Projektmappen, die Dauerhaftigkeit unterstützt, werden drei Schnittstellen, die IVsSolutionPersistence-Schnittstelle, die von der Umgebung implementiert und von einem VSPackage wird aufgerufen, und IVsPersistSolutionProps und IVsPersistSolutionOpts, die beide von VSPackages implementiert werden. Die IVsPersistSolutionOpts-Schnittstelle muss implementiert werden, wenn nur vertrauliche Informationen von einem VSPackage der SUO-Datei geschrieben werden sollen.
Wenn eine Projektmappe geöffnet ist, wird der folgende Prozess statt.
Die Umgebung wird die Projektmappe.
Wenn die Umgebung CLSIDfindet, lädt sie geeignete VSPackage.
Wenn VSPackages geladen wird, ruft die Umgebung QueryInterface für IVsPackage-Schnittstelle für die Schnittstelle an, die einem VSPackage erfordert.
Beim Lesen einer SLN-Datei, wird die Umgebung QueryInterface für IVsPersistSolutionPropsan.
Beim Lesen einer SUO-Datei, wird die Umgebung QueryInterface für IVsPersistSolutionOptsan.
Spezifische Informationen in Bezug auf die Verwendung dieser Dateien können in Solution (.sln) File und (Projektmappen-Benutzeroptionen. Datei Suo)gefunden werden.
Hinweis
Wenn Sie eine neue Projektmappenkonfiguration erstellen möchten Konfigurationen der vorhandenen die beiden Projekte und Ausschließen eines Drittels aus dem Build, müssen Sie die Eigenschaftenseiten Benutzeroberfläche oder Automatisierung verwenden.Es gibt keine verfügbaren Schnittstellen für Partner API-Ebene, die die direkte Bearbeitung von Konfigurationen Manager Projektmappenbuild und ihrer Eigenschaften ermöglichen.Sie können den Projektmappenbuild Manager bearbeiten, der die SolutionBuild-Klasse von Design Time Extensibility, DTE im Automatisierungsmodell verwendet.Weitere Informationen finden Sie unter Automatisierungs-Modell.Weitere Informationen in Bezug auf das Konfigurieren von Lösungen finden Sie unter Projektmappenkonfiguration.