Información general de las soluciones

Una solución es una agrupación de uno o varios proyectos que funcionan juntos para crear una aplicación. La información de proyecto y estado relativa a la solución se almacenan en dos archivos de solución diferentes. El archivo de solución (.sln) está basado en texto y se puede colocar bajo el control de código fuente y compartir entre los usuarios. El archivo de opción de usuario de la solución (.suo) es binario. Como resultado, el archivo .suo no se puede colocar bajo el control de código fuente y contiene información específica del usuario.

Cualquier VSPackage puede escribir en cualquier tipo de archivo de solución. Debido a la naturaleza de los archivos, hay dos interfaces diferentes implementadas para escribir en ellos. La IVsPersistSolutionProps interfaz escribe información de texto en el archivo .sln y la IVsPersistSolutionOpts interfaz escribe secuencias binarias en el archivo .suo.

Nota:

Un proyecto no tiene que escribir explícitamente una entrada para sí misma en el archivo de solución; el entorno lo controla para el proyecto. Por lo tanto, a menos que quiera agregar contenido adicional específicamente al archivo de solución, no es necesario registrar el VSPackage de esta manera.

Cada VSPackage compatible con la persistencia de la solución usa tres interfaces, la IVsSolutionPersistence interfaz, que implementa el entorno y la llama VSPackage, y , IVsPersistSolutionPropsIVsPersistSolutionOptsque se implementan en VSPackage. La IVsPersistSolutionOpts interfaz solo debe implementarse si el VSPackage escribe información privada en el archivo .suo.

Cuando se abre una solución, se realiza el siguiente proceso.

  1. El entorno lee la solución.

  2. Si el entorno encuentra un CLSID, carga el VSPackage correspondiente.

  3. Si se carga un VSPackage, el entorno llama QueryInterface a la IVsPackage interfaz para la interfaz que requiere VSPackage.

    • Al leer desde un archivo .sln, el entorno llama QueryInterface a para IVsPersistSolutionProps.

    • Al leer desde un archivo .suo, el entorno llama QueryInterface a para IVsPersistSolutionOpts.

    Puede encontrar información específica relacionada con el uso de estos archivos en archivo de solución (.sln) y archivo de opciones de usuario de la solución (.suo).

Nota:

Si desea crear una nueva configuración de solución que consta de dos configuraciones de proyectos y excluir una tercera de la compilación, debe usar la interfaz de usuario o la automatización de páginas de propiedades. No puede cambiar las configuraciones del administrador de compilación de soluciones y sus propiedades directamente, pero puede manipular el administrador de compilación de soluciones mediante la SolutionBuild clase de DTE en el modelo de automatización. Para obtener más información sobre cómo configurar soluciones, consulte Configuración de soluciones.