Archivo de opciones de usuario de la solución (.suo)
El archivo de opciones de usuario de la solución (.suo) contiene opciones de solución por usuario. Este archivo no debe estar protegido en el control de código fuente.
El archivo de opciones de usuario de la solución (.suo) es un archivo de almacenamiento estructurado o compuesto almacenado en un formato binario. La información del usuario se guarda en secuencias con el nombre de la secuencia que es la clave que se usará para identificar la información en el archivo .suo. El archivo de opciones de usuario de la solución se usa para almacenar la configuración de preferencias de usuario y se crea automáticamente cuando Visual Studio guarda una solución.
Cuando el entorno abre un archivo .suo, enumera todos los VSPackages cargados actualmente. Si un VSPackage implementa la IVsPersistSolutionOpts interfaz, el entorno llama al LoadUserOptions método en VSPackage pidiendo que cargue todos sus datos desde el archivo .suo.
Es responsabilidad del VSPackage saber qué secuencias podría haber escrito en el archivo .suo. Para cada secuencia que escribió, VSPackage vuelve a llamar al entorno a través LoadPackageUserOpts de para cargar una secuencia determinada identificada por la clave, que es el nombre de la secuencia. A continuación, el entorno vuelve a llamar a VSPackage para leer esa secuencia determinada pasando el nombre de la secuencia y un IStream
puntero al LoadPackageUserOpts método .
En ese momento, se realiza otra llamada para LoadUserOptions
ver si hay otra sección del archivo .suo que tiene que leerse. Este proceso continúa hasta que el entorno haya leído y procesado todos los flujos de datos del archivo .suo.
Cuando la solución se guarda o cierra, el entorno llama al SavePackageSolutionProps método con un puntero al SaveUserOptions método . Un IStream
que contiene la información binaria que se va a guardar se pasa al WriteUserOptions método , que luego escribe la información en el archivo .suo y llama al SaveUserOptions
método de nuevo para ver si hay otra secuencia de información para escribir en el archivo .suo.
Estos dos métodos, SaveUserOptions
y WriteUserOptions
, se denominan de forma recursiva para cada secuencia de información que se va a guardar en el archivo .suo, pasando el puntero a IVsSolutionPersistence
. Se denominan de forma recursiva para permitir la escritura de varias secuencias en el archivo .suo. De este modo, la información del usuario se conserva con la solución y se garantiza que esté allí la próxima vez que se abra la solución.