(Projektmappen-Benutzeroptionen. Datei Suo)
Die Datei der Lösung benutzeroptionen (.suo) ist ein strukturierter Speicher oder Möglichkeit, die Datei in einem Binärformat gespeichert wird. Sie speichern Benutzerinformationen in Streams mit dem Namen des Datenstroms, der die Schlüssels, der verwendet wird, um die Informationen in der SUO-Datei zu identifizieren. Die Projektmappen benutzeroptions Benutzereinstellungsinformationen Datei wird verwendet, um die Einstellungen zu speichern und wird automatisch erstellt, wenn Visual Studio eine Projektmappe gespeichert wird.
Wenn die Umgebung eine SUO-Datei öffnet, listet sie alle derzeit geladenes VSPackages auf. Wenn ein VSPackage die IVsPersistSolutionOpts-Schnittstelle implementiert wird, ruft die Methode auf LoadUserOptions die Umgebung ein VSPackage an, das sie anfordert, alle zugehörigen Daten aus der SUO-Datei zu laden.
Es liegt in der Verantwortung VSPackages zu wissen, welche Streams es möglicherweise in der SUO-Datei geschrieben. Für jeden im Stream geschrieben wurde, wird wieder VSPackages von der Umgebung LoadPackageUserOpts auf, um einen bestimmten Datenstrom zu laden, der vom Schlüssel identifiziert wird, die den Namen des Streams befindet. Die Aufrufe der Umgebung anschließend wieder VSPackages zu lesende Stream ermittelt, ob Sie den Namen des Streams und IStream Zeiger auf die LoadPackageUserOpts-Methode übergeben.
An diesem Punkt LoadUserOptions wird ein weiterer Aufruf ausgeführt, um zu ermitteln, ob es einen anderen Abschnitt der SUO-Datei vorhanden ist, der gelesen werden soll. Dieser Prozess wird fortgesetzt, bis alle Streams in der SUO-Datei von der Umgebung gelesen und verarbeitet wurden.
Wenn die Projektmappe gespeichert und geschlossen wird, ruft die Umgebung die SavePackageSolutionProps-Methode mit einem Zeiger auf die SaveUserOptions-Methode veranschaulicht. IStream , das die binären zu speichernden Informationen enthält, wird der WriteUserOptions-Methode übergeben, die dann die Informationen in der SUO-Datei schreibt und die SaveUserOptions-Methode erneut aufgerufen wird, um zu ermitteln, ob es einen anderen Stream zu schreibenden der SUO-Datei enthält Informationen aus.
Diese zwei Methoden, SaveUserOptions und WriteUserOptions, werden rekursiv für jeden Aufruf von den Stream der SUO-Datei gespeichert werden soll, und geben Informationen in den Zeiger auf IVsSolutionPersistence. Sie werden rekursiv aufgerufen, um das Schreiben von Streams mehrere der SUO-Datei zu ermöglichen. Auf diese Weise wird Benutzerinformationen mithilfe der Projektmappe beibehalten und es wird sichergestellt, dass das nächste Mal, wenn die Projektmappe geöffnet ist.