Udostępnij przez


Omówienie 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ć do dowolnego typu pliku rozwiązania. Ze względu na charakter plików istnieją dwa różne interfejsy zaimplementowane do ich zapisu. Interfejs IVsPersistSolutionProps zapisuje informacje tekstowe w pliku .sln, a IVsPersistSolutionOpts interfejs zapisuje strumienie binarne do pliku suo.

Uwaga / Notatka

Projekt nie musi jawnie zapisywać swojego wpisu w pliku rozwiązania; środowisko zajmuje się tym za projekt. 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żdy pakiet VSPackage obsługujący trwałość rozwiązania używa trzech interfejsów, IVsSolutionPersistence interfejsu, który jest implementowany przez środowisko i wywoływany przez pakiet VSPackage oraz IVsPersistSolutionProps i IVsPersistSolutionOpts, które są zaimplementowane 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.

  1. Środowisko odczytuje rozwiązanie.

  2. Jeśli środowisko znajdzie CLSIDelement , ładuje odpowiedni pakiet VSPackage.

  3. Jeśli pakiet VSPackage jest ładowany, środowisko wywołuje interfejs QueryInterface dla interfejsu IVsPackage wymaganego przez pakiet VSPackage.

    • Podczas odczytywania z pliku .sln środowisko wywołuje QueryInterface dla IVsPersistSolutionProps.

    • Podczas odczytywania z pliku .suo środowisko wywołuje QueryInterface dla IVsPersistSolutionOpts.

    Szczegółowe informacje dotyczące korzystania z tych plików można znaleźć w pliku (.sln) i pliku opcji użytkownika rozwiązania (.suo).

Uwaga / Notatka

Jeśli chcesz utworzyć nową konfigurację rozwiązania składającą się z dwóch konfiguracji projektów, wyłączając trzecią z kompilacji, musisz użyć interfejsu użytkownika stron właściwości lub automatyzacji. 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.