Documentos del modelo de definición del sistema (SDM) bajo el control del código fuente

Actualización: noviembre 2007

En los Diseñadores de sistemas distribuidos, el ámbito de los diagramas de sistemas distribuidos, tales como el diagrama de aplicaciones o los diagramas de sistemas, se sitúa en el nivel de la solución, mientras que el ámbito de otros documentos SDM, tales como los archivos de definición de aplicaciones (.sdm), se sitúan en el nivel de proyecto. Puede proteger y desproteger estos archivos mediante el control de código fuente como cualquier otro archivo. Sin embargo, tenga en cuenta las siguientes consideraciones sobre cómo estos documentos interactúan con el control de código fuente, especialmente al sincronizarlos.

Para obtener más información, vea los temas siguientes:

Las secciones siguientes contienen más información sobre cómo los documentos SDM interactúan con el control de código fuente:

  • Desproteger las versiones locales o las versiones del servidor

  • Agregar documentos SDM o determinados archivos de proyecto de una solución compartida

  • Sincronización bajo control de código fuente

Desproteger las versiones locales o las versiones del servidor

Dependiendo de su configuración del control de código fuente, puede elegir entre desproteger una versión local o una versión de servidor de un archivo. Sin embargo, los documentos SDM no se pueden volver a cargar durante la sincronización. Por consiguiente, si realiza cambios en los archivos mientras están protegidos en el control de código fuente y, a continuación, desprotege la versión de servidor de esos archivos, podría impedir su sincronización con  la solución si están en proceso de recarga. Por ejemplo, si utiliza la integración del control de código fuente de Microsoft FrontPage con proyectos Web generados mediante el Diseñador de aplicaciones, los cambios en esos proyectos podrían ser excluidos sin aviso de la sincronización si están en proceso de recarga.

Sugerencia:

Para evitar esta situación, desproteja el archivo antes de cualquier operación que requiera la recarga del archivo o defina las opciones del control de código fuente de modo que se desproteja siempre la versión local del archivo.

Agregar documentos SDM o determinados archivos de proyecto de una solución compartida

Si utiliza Control de versiones de Team Foundation y desea agregar a su solución un documento SDM o determinados archivos de proyecto como archivos de código procedentes de otra solución, no podrá utilizar el cuadro de diálogo Abrir desde el control de código fuente para agregar el elemento a la solución. Este cuadro de diálogo no muestra una opción que permita seleccionar entre todos los archivos o seleccionar un elemento con una extensión de archivo SDM u otras extensiones de archivo de proyecto, como extensiones de archivos de código. Para obtener más información, vea Cómo: Abrir soluciones y proyectos desde el control de versiones.

Para agregar estos archivos a su solución, consulte Cómo: Agregar documentos SDM y archivos de proyecto de soluciones compartidas bajo control de código fuente.

Sincronización bajo control de código fuente

Cuando se implementan ciertas definiciones de aplicación en el diagrama de aplicaciones, se genera un proyecto de aplicación para cada una de esas definiciones. El proyecto contiene archivos tales como archivos de código, archivos de configuración (.config) y un archivo .sdm. Este archivo .sdm es un documento SDM que contiene metadatos sobre la definición de aplicación.

Cuando se realizan cambios en el diagrama de aplicaciones o en los archivos de código o .config asociados a un proyecto, se deberá actualizar el diagrama de aplicaciones y los archivo .sdm. Una vez implementada la aplicación, el código se convierte en la definición principal, incluso aunque el código y los diagramas se sincronicen entre sí. Si el diagrama de aplicaciones está abierto, Visual Studio intenta sincronizar inmediatamente esos cambios. Por ejemplo, al agregar una definición de servicio Web y un archivo .asmx al proyecto de una aplicación ASP.NET o hacer cambios en el diagrama de aplicaciones que afecten  a los archivos .sdm, se desencadena la sincronización. Para obtener más información, vea Sincronización entre los documentos del modelo de definición del sistema (SDM).

Escenarios que requieren o no requieren la desprotección para la sincronización

Dependiendo del escenario, la desprotección puede ser necesaria o no serlo durante la sincronización. Si los archivos requeridos para la sincronización, como los archivos del diagrama de aplicaciones (.ad) o .sdm, se protegen en el control de código fuente de Visual Studio, Visual Studio desprotege automáticamente los archivos necesarios o pregunta antes de hacerlo, dependiendo de la configuración del control de código fuente.

Nota:

Podría ver una o más preguntas de confirmación de desprotección, dependiendo del número de archivos requeridos.

Por ejemplo, si la solución contiene un archivo de diagrama de aplicaciones (.ad) y agrega uno o varios proyectos (generados previamente para las aplicaciones del diagrama de aplicaciones) a la solución desde el control de código fuente, Visual Studio desprotege los archivos .sdm de esos proyectos automáticamente o le pide que lo haga. No anule la desprotección porque se bloqueará el diagrama de aplicaciones si éste se abre o la próxima vez que se abra. Para obtener más información, vea Cancelar la desprotección y Solucionar problemas de diagramas de aplicaciones.

Sugerencia:

Cuando termine de trabajar con los documentos SDM como los archivos .sdm, protéjalos para que otros usuarios puedan desprotegerlos, por ejemplo, cuando deseen agregar proyectos con archivos .sdm a soluciones que contengan archivos de diagrama de aplicaciones.

Los valores de configuración que representan entradas de archivos de configuración (.config) se almacena tanto en archivos .sdm como en archivos .config, incluso después de la implementación. Por consiguiente, los cambios que realice en las opciones de configuración (o en las restricciones) utilizando el Editor de restricciones y configuración, o en cualquier otra opción de configuración de un archivo .config que esté también representada en el archivo .sdm requiere desproteger el diagrama de aplicaciones y el archivo .sdm. Para obtener más información, vea Aplicar configuración.

En comparación, cuando se implementa una aplicación ASP.NET con un servicio Web, las operaciones de este servicio se definen mediante el archivo de clase del servicio Web y ya no se representan en el archivo del diagrama de aplicaciones (.ad). Por consiguiente, los cambios que realice en las operaciones del servicio Web utilizando la ventana Detalles del servicio Web o directamente en el código no requieren desproteger el diagrama de aplicaciones, ya que esos cambios afectan al archivo de clase del servicio Web. Para obtener más información, vea Información general sobre aplicaciones ASP.NET en diagramas de aplicaciones.

Cancelar la desprotección

Puede optar por cancelar la desprotección cuando se le pregunte; sin embargo, al cancelar la desprotección impedirá que Visual Studio sincronice los archivos necesarios. En función de los datos que requieran desprotección, al cancelar la desprotección puede suceder lo siguiente:

  • Se desharán los cambios realizados a través del diseñador. Se deshacen el cambio inicial y todos los cambios subsiguientes.

  • Los cambios realizados en los archivos de código o configuración no se pueden deshacer.

    El archivo del diagrama de aplicaciones (.ad) se bloqueará y aparecerá en estado de sólo lectura. Aparece un error en la ventana Lista de errores que indica que no se pudo completar la sincronización. El estado de sólo lectura del diagrama de aplicaciones indica que no se puede sincronizar con los archivos del proyecto asociados y que podría contener información desincronizada.

    Para resolver esta situación, cierre el diagrama, deshaga los cambios no deshechos y vuelva a abrir el diagrama para intentar su sincronización. Para obtener más información, vea Solucionar problemas de diagramas de aplicaciones.

  • El código no podría generarse y se producirían errores de compilación.

Si el diagrama de aplicaciones se encuentra protegido en el control de código fuente, la sincronización del diagrama requerirá su desprotección. Sin embargo, si el control de código fuente está configurado para desproteger la versión del servidor del diagrama, éste se deberá cargar de nuevo. Puesto que los documentos SDM no admiten la recarga durante la sincronización, el diagrama no se puede desproteger. Si el diagrama de aplicaciones no se puede desproteger, tampoco se puede sincronizar, y entonces se bloqueará. Para resolver un diagrama de aplicaciones bloqueado, puede cerrarlo y volver a abrirlo, lo cual produce un intento de sincronización.

Para evitar esta situación, desproteja el archivo antes de cualquier operación que requiera la recarga del archivo o defina las opciones del control de código fuente de modo que se desproteja siempre la versión local del archivo.

Obtener la última versión de documentos SDM

Si se obtiene la última versión de un documento SDM mientras se abre el archivo del diagrama de aplicaciones (.ad), se bloqueará el diagrama y éste aparecerá en estado de sólo lectura. Esta operación exige volver a cargar el diagrama de aplicaciones y hace que estos archivos se desincronicen. Para obtener más información, consulte Solucionar problemas de diagramas de aplicaciones.

Para resolver un diagrama de aplicaciones bloqueado, cierre el diagrama y vuelva a abrirlo.

Vea también

Referencia

Desprotección y cambios simultáneos en documentos del modelo de definición del sistema (SDM)

Otros recursos

Documentación de Team Foundation

Información general sobre el Diseñador de sistemas distribuidos