Share via


MSSCCPRJ. Archivo SCC

Cuando se coloca una solución o un proyecto de Visual Studio bajo el control de código fuente mediante el IDE, el IDE recibe dos fragmentos clave de información. La información procede del complemento de control de código fuente en forma de cadenas. Estas cadenas, "AuxPath" y "ProjName", son opacas para el IDE, pero el complemento los usa para buscar la solución o el proyecto en el control de versiones. Normalmente, el IDE obtiene estas cadenas la primera vez llamando a SccGetProjPath y, a continuación, las guarda en el archivo de solución o proyecto para futuras llamadas a SccOpenProject. Cuando se insertan en los archivos de solución y proyecto, las cadenas "AuxPath" y "ProjName" no se actualizan automáticamente cuando un usuario bifurca, bifurca o copia los archivos de solución y proyecto que se encuentran en el control de versiones. Para asegurarse de que los archivos de solución y proyecto apunten a su ubicación correcta en el control de versiones, los usuarios deben actualizar manualmente las cadenas. Dado que las cadenas están pensadas para ser opacas, puede que no siempre esté claro cómo se deben actualizar.

El complemento de control de código fuente puede evitar este problema almacenando las cadenas "AuxPath" y "ProjName" en un archivo especial denominado archivo MSSCCPRJ.SCC . Es un archivo local y del lado cliente que es propiedad y mantiene el complemento. Este archivo nunca se coloca bajo el control de código fuente, pero lo genera el complemento para cada directorio que contiene archivos controlados por código fuente. Para determinar qué archivos son archivos de proyecto y solución de Visual Studio, un complemento de control de código fuente puede comparar las extensiones de archivo con una lista estándar o proporcionada por el usuario. Una vez que el IDE detecta que un complemento admite el archivo MSSCCPRJ.SCC , deja de insertar las cadenas "AuxPath" y "ProjName" en archivos de solución y proyecto, y lee esas cadenas del archivo MSSCCPRJ.SCC en su lugar.

Un complemento de control de código fuente que admita el archivo MSSCCPRJ.SCC debe cumplir las siguientes directrices:

  • Solo puede haber un archivo MSSCCPRJ.SCC por directorio.

  • Un archivo MSSCCPRJ.SCC puede contener "AuxPath" y "ProjName" para varios archivos que están bajo control de código fuente dentro de un directorio determinado.

  • La cadena "AuxPath" no debe tener comillas dentro de ella. Se permite tener comillas alrededor de él como delimitadores (por ejemplo, un par de comillas dobles se puede usar para indicar una cadena vacía). El IDE quitará todas las comillas de la cadena "AuxPath" cuando se lea del archivo MSSCCPRJ.SCC .

  • Cadena "ProjName" en MSSCCPRJ . El archivo SCC debe coincidir exactamente con la cadena devuelta de la SccGetProjPath función. Si la cadena devuelta por la función tiene comillas alrededor de ella, la cadena del archivo MSSCCPRJ.SCC debe tener comillas alrededor de ella y viceversa.

  • Se crea o actualiza un archivo MSSCCPRJ.SCC cada vez que se coloca un archivo bajo control de código fuente.

  • Si se elimina un archivo MSSCCPRJ.SCC , un proveedor debe volver a generarlo la próxima vez que realice una operación de control de código fuente relativa a ese directorio.

  • Un archivo MSSCCPRJ.SCC debe seguir estrictamente el formato definido.

Ilustración del MSSCCPRJ. Formato de archivo SCC

A continuación se muestra un ejemplo del formato de archivo MSSCCPRJ.SCC (los números de línea solo se proporcionan como guía y no deben incluirse en el cuerpo del archivo):

  • [Línea 1] SCC = This is a Source Code Control file

  • [Línea 2]

  • [Línea 3] [TestApp.sln]

  • [Línea 4] SCC_Aux_Path = "\\server\vss\"

  • [Línea 5] SCC_Project_Name = "$/TestApp"

  • [Línea 6]

  • [Línea 7] [TestApp.csproj]

  • [Línea 8] SCC_Aux_Path = "\\server\vss\"

  • [Línea 9] SCC_Project_Name = "$/TestApp"

La primera línea indica el propósito del archivo y actúa como firma para todos los archivos de este tipo. Esta línea debería aparecer exactamente igual a esta en todos los archivos MSSCCPRJ.SCC :

SCC = This is a Source Code Control file

En la sección siguiente se detalla la configuración de cada archivo, marcada por el nombre de archivo entre corchetes. Esta sección se repite para cada archivo al que se realiza el seguimiento. Esta línea es un ejemplo de un nombre de archivo, es decir, [TestApp.csproj]. El IDE espera las dos líneas siguientes. Sin embargo, no define el estilo de los valores definidos. Las variables son SCC_Aux_Path y SCC_Project_Name.

SCC_Aux_Path = "\\server\vss\"

SCC_Project_Name = "$/TestApp"

No hay ningún delimitador final en esta sección. El nombre del archivo, así como todos los literales que aparecen en el archivo, se definen en el archivo de encabezado scc.h. Para obtener más información, consulte Cadenas usadas como claves para buscar un complemento de control de código fuente.

Consulte también