Delen via


Oplossingsoverzicht

Een oplossing is een groepering van een of meer projecten die samenwerken om een toepassing te maken. De project- en statusinformatie met betrekking tot de oplossing worden opgeslagen in twee verschillende oplossingsbestanden. Het oplossingsbestand (.sln) is gebaseerd op tekst en kan worden geplaatst onder broncodebeheer en gedeeld tussen gebruikers. Het oplossingsgebruikeroptiebestand (.suo) is binair. Als gevolg hiervan kan het SUO-bestand niet worden geplaatst onder broncodebeheer en bevat gebruikersspecifieke informatie.

Elke VSPackage kan naar elk type oplossingsbestand schrijven. Vanwege de aard van de bestanden zijn er twee verschillende interfaces geïmplementeerd om ernaar te schrijven. De IVsPersistSolutionProps interface schrijft tekstinformatie naar het .sln-bestand en de IVsPersistSolutionOpts interface schrijft binaire streams naar het .suo-bestand.

Opmerking

Een project hoeft niet expliciet een vermelding voor zichzelf te schrijven in het oplossingsbestand; de omgeving verwerkt dat voor het project. Daarom hoeft u uw VSPackage niet op deze manier te registreren, tenzij u extra inhoud specifiek aan het oplossingsbestand wilt toevoegen.

Elke VSPackage ondersteunende oplossingspersistentie maakt gebruik van drie interfaces, de IVsSolutionPersistence interface, die wordt geïmplementeerd door de omgeving en wordt aangeroepen door de VSPackage, en en IVsPersistSolutionPropsIVsPersistSolutionOpts, die beide worden geïmplementeerd door de VSPackage. De IVsPersistSolutionOpts interface hoeft alleen te worden geïmplementeerd als persoonlijke informatie door de VSPackage naar het SUO-bestand moet worden geschreven.

Wanneer een oplossing wordt geopend, vindt het volgende proces plaats.

  1. De omgeving leest de oplossing.

  2. Als de omgeving een CLSIDvindt, wordt de bijbehorende VSPackage geladen.

  3. Als een VSPackage is geladen, roept de omgeving QueryInterface voor IVsPackage interface op, de interface die de VSPackage vereist.

    • Wanneer u leest vanuit een .sln-bestand, roept de omgeving QueryInterface aan voor IVsPersistSolutionProps.

    • Wanneer u leest vanuit een .suo-bestand, roept de omgeving QueryInterface aan voor IVsPersistSolutionOpts.

    Specifieke informatie met betrekking tot het gebruik van deze bestanden vindt u in het Solution (.sln)-bestand en het Solution User Options (.suo)-bestand.

Opmerking

Als u een nieuwe oplossingsconfiguratie wilt maken die bestaat uit de configuraties van twee projecten en een derde van de build uitsluit, moet u de gebruikersinterface van eigenschappenpagina's of automatisering gebruiken. U kunt de configuraties en eigenschappen van de buildmanager van de oplossing niet rechtstreeks wijzigen, maar u kunt de oplossingsbuildmanager bewerken met behulp van de SolutionBuild klasse van DTE in het automatiseringsmodel. Zie Oplossingsconfiguratie voor meer informatie over het configureren van oplossingen.