Cómo: Validar código .NET con diagramas de capas
Este tema se aplica a:
Visual Studio Ultimate |
Visual Studio Premium |
Visual Studio Professional |
Visual Studio Express |
---|---|---|---|
Validar el código comparándolo con un diagrama de capas le ayuda a exigir restricciones de arquitectura en el código conforme evoluciona. Al realizar esta tarea, las dependencias del código se comparan con las dependencias del diagrama. La validación de capas también puede ayudarle con las siguientes tareas:
Ver las diferencias entre el código existente y su diseño previsto.
Encontrar código que no está organizado tal y como se pensaba o que tiene dependencias no deseadas.
Encontrar dependencias que podrían verse afectadas por los cambios propuestos.
Por ejemplo, puede modificar el diagrama de capas para mostrar los posibles cambios de la arquitectura y validar el código para ver las dependencias afectadas. Para obtener más información, vea Cómo: Crear diagramas de capas desde artefactos y Diagrama de capas: Instrucciones.
Refactorizar o migrar el código a un diseño diferente.
Encontrar código o dependencias que todavía requieran trabajo al cambiar el código a una arquitectura diferente.
Para poder validar el código, la solución de Visual Studio debe incluir un proyecto de modelado con un diagrama de capas por lo menos. El diagrama de capas describe la arquitectura del sistema y organiza los espacios de nombres, los proyectos y otras artefactos en grupos lógicos, abstractos o capas. Estas capas describen los componentes principales del sistema o las tareas que realizan estos artefactos. Debe definir estas capas, vincularles artefactos y describir las dependencias previstas entre esos artefactos.
Nota
Existen ciertos tipos de artefactos que se pueden vincular a capas, pero que no admiten la validación con el diagrama de capas. Para ver si el artefacto admite la validación, abra el Explorador de capas y examine la propiedad Supports Validation del vínculo de artefacto. Para obtener más información, vea Artefactos que no admiten validación.
Para obtener más información acerca de cómo crear diagramas de capas, vea los temas siguientes:
Para validar código C o C++, descargue e instale Paquete de características de modelado y visualización de Microsoft Visual Studio 2010.
Para obtener más información, vea Cómo: Validar código C y C++ con diagramas de capas.
En este tema
Agregar ensamblados y proyectos manualmente para validación.
Validar el código manualmente en cualquier momento.
Validar el código automáticamente durante una compilación local.
Validar el código automáticamente durante una compilación de Team Foundation.
Solución de problemas de validación de capas.
Agregar ensamblados y proyectos manualmente para validación
La carpeta Referencias de capa de un proyecto de modelado contiene las referencias a los ensamblados y proyectos que se analizan durante la validación. Al arrastrar los elementos al diagrama de capas, se agregan automáticamente a esta carpeta las referencias a los ensamblados o proyectos correspondientes. También puede agregar manualmente ensamblados y proyectos para validación sin arrastrarlos al diagrama de capas.
Para agregar ensamblados y proyectos manualmente para validación
En el Explorador de soluciones, haga clic con el botón secundario del mouse en el proyecto de modelado o en la carpeta Layer References y, a continuación, haga clic en Agregar referencia.
En el cuadro de diálogo Agregar referencia, seleccione los ensamblados o proyectos y, a continuación, haga clic en Aceptar.
Validar el código manualmente en cualquier momento
Para validar el código de un diagrama de capas abierto
Haga clic con el botón secundario en la superficie del diagrama y, a continuación, haga clic en Validar arquitectura.
Nota
De forma predeterminada, la propiedad Acción de compilación del archivo de diagrama de capas (.layerdiagram) se establece en Validar para que el diagrama se incluya en el proceso de validación.
La ventana Lista de errores notifica los errores que se producen. Para obtener más información sobre los errores de validación, vea Entender los errores de validación de capas.
Para ver el origen de cada error, haga doble clic en el error en la ventana Lista de errores.
Nota
Visual Studio podría mostrar un gráfico de dependencia en lugar del origen del error. Esto se produce cuando el código tiene una dependencia en un ensamblado que el diagrama de capas no especifica, o al código le falta una dependencia que el diagrama de capas especifica. Revise el gráfico de dependencia o el código para determinar si debe existir la dependencia. Para obtener más información sobre los gráficos de dependencia, vea Cómo: Navegar y examinar los documentos de gráfico.
Para administrar los errores, vea Administrar errores de validación.
Para validar el código desde el símbolo del sistema
Abra el símbolo del sistema de Visual Studio.
Para abrir el símbolo del sistema, haga clic en Inicio, elija Todos los programas, Microsoft Visual Studio 2010, Visual Studio Tools y, a continuación, haga clic en Símbolo del sistema de Visual Studio 2010.
Elija una de las siguientes opciones:
Para validar el código comparándolo con un proyecto de modelado concreto en la solución, ejecute MSBuild con la siguiente propiedad personalizada.
msbuild <FilePath+ModelProjectFileName>.modelproj /p:ValidateArchitecture=true
- O bien -
Vaya a la carpeta que contiene el archivo de proyecto de modelado (.modelproj) y el diagrama de capas y, a continuación, ejecute MSBuild con la siguiente propiedad personalizada:
msbuild /p:ValidateArchitecture=true
Para validar el código comparándolo con todos los proyectos de modelado de la solución, ejecute MSBuild con la siguiente propiedad personalizada.
msbuild <FilePath+SolutionName>.sln /p:ValidateArchitecture=true
- O bien -
Vaya a la carpeta de soluciones, que debe contener un proyecto de modelado que contiene un diagrama de capas y, a continuación, ejecute MSBuild con la siguiente propiedad personalizada:
msbuild /p:ValidateArchitecture=true
Se mostrará cualquier error que se produzca. Para obtener más información acerca de MSBuild, vea MSBuild y MSBuild (Tarea).
Para obtener más información sobre cómo entender los errores de validación, vea Entender los errores de validación de capas.
Administrar errores de validación
Durante el proceso de desarrollo, puede que desee suprimir algunos de los conflictos notificados durante la validación. Por ejemplo, es posible que desee suprimir errores de los que ya se ha ocupado o que no son pertinentes para su escenario concreto. Cuando se suprime un error, conviene registrar un elemento de trabajo en Team Foundation.
Para crear un elemento de trabajo para un error de validación
- En la ventana Lista de errores, haga clic con el botón secundario en el error, elija Crear elemento de trabajo y haga clic en el tipo de elemento de trabajo que desee crear.
Use estas tareas para administrar los errores de validación de la ventana Lista de errores:
Para |
Siga estos pasos |
---|---|
Suprimir los errores seleccionados durante la validación |
Haga clic con el botón secundario en uno o varios errores seleccionados, elija Administrar errores de validación y, a continuación, haga clic en Suprimir errores. Los errores suprimidos aparecen tachados. La próxima vez que ejecute la validación, estos errores no aparecerán. El seguimiento de los errores suprimidos se lleva a cabo en un archivo .suppressions relacionado con el archivo de diagrama de capas correspondiente. |
Detener la supresión de los errores seleccionados |
Haga clic con el botón secundario en el error o errores suprimidos seleccionados, elija Administrar errores de validación y, a continuación, haga clic en Detener supresión de errores. La próxima vez que ejecute la validación, los errores suprimidos aparecerán. |
Restaurar todos los errores suprimidos en la ventana Lista de errores |
Haga clic con el botón secundario en cualquier parte en la ventana Lista de errores, elija Administrar errores de validación y, a continuación, haga clic en Mostrar errores suprimidos. |
Ocultar todos los errores suprimidos en la ventana Lista de errores |
Haga clic con el botón secundario en cualquier parte en la ventana Lista de errores, elija Administrar errores de validación y, a continuación, haga clic en Ocultar errores suprimidos. |
Validar el código automáticamente durante una compilación local
Utilice este método si desea validar el código automáticamente cada vez que ejecute una compilación local.
Para validar el código automáticamente desde una compilación local
- Use un editor de texto para abrir el archivo del proyecto de modelado (.modelproj) y, a continuación, incluya la siguiente propiedad:
<ValidateArchitecture>true</ValidateArchitecture>
-O bien-
En el Explorador de soluciones, haga clic con el botón secundario en el proyecto de modelado que contiene el diagrama o diagramas de capas y, a continuación, haga clic en Propiedades.
En la ventana Propiedades, establezca la propiedad Validate Architecture del proyecto de modelado en True.
Esto incluye el proyecto de modelado en el proceso de validación.
En el Explorador de soluciones, haga clic en el archivo de diagrama de capas (.layerdiagram) que desea utilizar para la validación.
En la ventana Propiedades, asegúrese de que la propiedad Acción de compilación del diagrama está establecida en Validar.
Esto incluye el diagrama de capas en el proceso de validación.
Para obtener más información sobre cómo entender los errores de validación, vea Entender los errores de validación de capas. Para administrar los errores, vea Administrar errores de validación.
Validar el código automáticamente durante una compilación de Team Foundation
Para impedir cambios en el código que entren en conflicto con el diseño, incluya la validación de capas con las compilaciones que se ejecutan utilizando Team Foundation Build y con entradas validadas, que puede especificar creando una tarea de MSBuild personalizada. Utilice informes de compilación para recopilar errores de validación.
Para obtener más información sobre Team Foundation Build, vea los temas siguientes:
Para obtener más información acerca de cómo se crean compilaciones de entrada validada, vea Definir una compilación de entrada validad para validar los cambios.
Para validar el código al ejecutar Team Foundation Build
En Team Explorer, haga doble clic en la definición de compilación y, a continuación, haga clic en Proceso.
En Parámetros del proceso de compilación, expanda Compilación y escriba lo siguiente en el parámetro Argumentos de MSBuild:
/p:ValidateArchitecture=true
Para obtener más información, vea Definir una compilación con la plantilla predeterminada.
Artefactos que no admiten validación
Entre los artefactos que no admiten la validación con un diagrama de capas se encuentran los proyectos de C++, los sitios web, los documentos de Office y los archivos de texto sin formato. Puede vincular estos artefactos a las capas, pero el proceso de validación los omitirá. Los errores de validación no aparecerán para las referencias a proyectos o ensamblados que están vinculados a capas independientes cuando no aparece ninguna dependencia entre esas capas. Tales referencias no se consideran dependencias a menos que el código utilice esas referencias.
Para comprobar si un artefacto admite validación
En un diagrama de capas, seleccione una o varias capas, haga clic con el botón secundario en su selección y, a continuación, haga clic en Ver vínculos.
En el Explorador de capas, examine la columna Admite validación.
Si el valor es false en el vínculo de un artefacto, ese artefacto no admite validación.
Solución de problemas de validación de capas
En la siguiente tabla se describen problemas de validación de capas y su solución. Estos problemas difieren de los errores que son resultado de conflictos entre el código y el diseño. Para obtener más información sobre estos errores, vea Entender los errores de validación de capas.
Problema |
Causa posible |
Solución |
---|---|---|
Los errores de validación no se producen como se espera. |
La validación no funciona en los diagramas de capas que se copian de otros diagramas de capas en el Explorador de soluciones y que están en el mismo proyecto de modelado. Los diagramas de capas que se copian de esta manera contienen las mismas referencias que el diagrama de capas original. |
|
Vea también
Conceptos
Validar el sistema durante el desarrollo