Przegląd rozwiązań
Rozwiązanie to grupowanie jednego lub kilku projektów, które współpracują ze sobą w celu utworzenia aplikacji. Informacje o stanie i projekcie dotyczące rozwiązania są przechowywane w dwóch różnych plikach rozwiązania. Plik rozwiązania (.sln) jest oparty na tekście i można go umieścić pod kontrolą kodu źródłowego i współużytkować między użytkownikami. Plik opcji użytkownika rozwiązania (suo) jest binarny. W związku z tym nie można umieścić pliku suo pod kontrolą kodu źródłowego i zawiera informacje specyficzne dla użytkownika.
Dowolny pakiet VSPackage może zapisywać w dowolnym typie pliku rozwiązania. Ze względu na charakter plików istnieją dwa różne interfejsy zaimplementowane do ich zapisu. Interfejs IVsPersistSolutionProps zapisuje informacje tekstowe do pliku sln, a IVsPersistSolutionOpts interfejs zapisuje strumienie binarne do pliku suo.
Uwaga
Projekt nie musi jawnie zapisywać wpisu dla siebie w pliku rozwiązania; środowisko obsługuje to dla projektu. W związku z tym, chyba że chcesz dodać dodatkową zawartość specjalnie do pliku rozwiązania, nie musisz w ten sposób rejestrować pakietu VSPackage.
Każda trwałość rozwiązania obsługującego pakiet VSPackage używa trzech interfejsów, IVsSolutionPersistence interfejsu, który jest implementowany przez środowisko i wywoływany przez pakiet VSPackage oraz IVsPersistSolutionProps
IVsPersistSolutionOpts
, które są implementowane przez pakiet VSPackage. Interfejs IVsPersistSolutionOpts
musi być zaimplementowany tylko wtedy, gdy informacje prywatne mają być zapisywane przez pakiet VSPackage do pliku suo.
Po otwarciu rozwiązania następuje następujący proces.
Środowisko odczytuje rozwiązanie.
Jeśli środowisko znajdzie
CLSID
element , ładuje odpowiedni pakiet VSPackage.Jeśli pakiet VSPackage jest ładowany, środowisko wywołuje
QueryInterface
interfejs dla IVsPackage interfejsu wymaganego przez pakiet VSPackage.Podczas odczytywania z pliku sln środowisko wywołuje metodę
QueryInterface
IVsPersistSolutionProps
.Podczas odczytywania z pliku suo środowisko wywołuje metodę
QueryInterface
IVsPersistSolutionOpts
.
Szczegółowe informacje dotyczące używania tych plików można znaleźć w pliku rozwiązania (sln) i plikach opcji użytkownika rozwiązania (suo).
Uwaga
Jeśli chcesz utworzyć nową konfigurację rozwiązania składającą się z dwóch konfiguracji projektów i z wyłączeniem trzeciej z kompilacji, musisz użyć interfejsu użytkownika lub automatyzacji stron właściwości. Nie można bezpośrednio zmienić konfiguracji menedżera kompilacji rozwiązania i ich właściwości, ale można manipulować menedżerem kompilacji rozwiązań przy użyciu SolutionBuild
klasy DTE w modelu automatyzacji. Aby uzyskać więcej informacji na temat konfigurowania rozwiązań, zobacz Konfiguracja rozwiązania.