Вы находитесь на странице: 1из 8

Validar cdigo con diagramas de capas

Visual Studio 2012 Otras versiones

Personas que lo han encontrado til: 0 de 1 - Valorar este tema Para asegurarse de que el cdigo no entre en conflicto con el diseo, puede validar el cdigo con los diagramas de capas en Visual Studio Ultimate y Visual Studio Premium. Esto ayuda:

Busque los conflictos entre las dependencias del cdigo y las dependencias del diagrama de capas. Encontrar dependencias que podran 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 cdigo para ver las dependencias afectadas.

Refactorizar o migrar el cdigo a un diseo diferente. Buscar cdigo o dependencias que requieran trabajo al cambiar el cdigo a una arquitectura diferente.

Puede validar el cdigo manualmente desde un diagrama de capas abierto en Visual Studio o del smbolo del sistema. Tambin puede validar el cdigo automticamente cuando el valor local actual compila o Team Foundation Build. Vea Vdeo de canal 9: Disear y validar la arquitectura con diagramas de capas. Requisitos

Visual Studio Ultimate o Visual Studio Premium Una solucin que tiene un proyecto de modelado con un diagrama de capas. Este diagrama de capas se debe vincular a los artefactos de .NET de Visual c# o Visual Basic .NET proyectos que desea validar. Vea Crear diagramas de capas a partir del cdigo.

Para

Vea si un elemento admite validacin Incluye otros ensamblados y proyectos de .NET para la validacin Validar el cdigo manualmente Validar el cdigo automticamente Solucionar problemas de validacin de capas

Comprender y resuelva los errores de validacin de capas

Vea si un elemento admite validacin

1. En el diagrama de capas, seleccione una o varias capas, haga clic con el botn secundario en la seleccin, y haga clic en Vea los vnculos. 2. En el Explorador de capas, examine la columna Admite validacin. Si el valor es false, el elemento no admite la validacin. Puede enlazar sitios Web, documentos de Office, y los archivos de texto sin formato a las capas, pero el proceso de validacin no los incluir. Los errores de validacin no aparecern de referencias a proyectos o ensamblados que estn vinculados a capas independientes cuando no aparece ninguna dependencia entre esas capas. Tales referencias no se consideran dependencias a menos que el cdigo utilice esas referencias. Incluye otros ensamblados y proyectos de .NET para la validacin

Al arrastrar elementos al diagrama de capas, las referencias a los ensamblados o proyectos de .NET correspondientes se agregan automticamente a la carpeta Referencias de capa en el proyecto de modelado. Esta carpeta contiene referencias a los ensamblados y proyectos que se analizan durante la validacin. Puede incluir otros ensamblados y proyectos de .NET para validacin sin manualmente arrastrarlos al diagrama de capas. 1. En Explorador de soluciones, haga clic con el botn secundario en el proyecto de modelado o la carpeta Referencias de capa, y haga clic en Agregar referencia. 2. En el cuadro de dilogo Agregar referencia, seleccione los ensamblados o proyectos y, a continuacin, haga clic en Aceptar. Validar el cdigo manualmente

Si tiene un diagrama de capas abierto vinculado a los elementos de la solucin, puede ejecutar el comando de mtodo abreviado Validar del diagrama. Tambin puede utilizar el smbolo del sistema para ejecutar el comando de msbuild con la propiedad personalizada de /p:ValidateArchitecture establecida en True. Por ejemplo, cuando se realizan cambios en el cdigo, realice la validacin de capas con regularidad para poder detectar conflictos de dependencia pronto.

Para validar el cdigo de un diagrama de capas abierto


1. Haga clic con el botn secundario en la superficie del diagrama y, a continuacin, haga clic en Validar arquitectura. Nota

De forma predeterminada, la propiedad Accin de compilacin del archivo de diagrama de capas (.layerdiagram) se establece en Validar para que el diagrama se incluya en el proceso de validacin. 2. La ventana Lista de errores notifica los errores que se producen. Para obtener ms informacin sobre los errores de validacin, vea Comprender y resuelva los errores de validacin de capas. 3. Para ver el origen de cada error, haga doble clic en el error en la ventana Lista de errores. Nota Visual Studio podra mostrar un grfico de dependencia en lugar del origen del error. Esto se produce cuando el cdigo tiene una dependencia en un ensamblado que el diagrama de capas no especifica, o al cdigo le falta una dependencia que el diagrama de capas especifica. Revise el grfico de dependencia o el cdigo para determinar si debe existir la dependencia. Para obtener ms informacin sobre los grficos de dependencia, vea Visualizar dependencias de cdigo en grficos de dependencias. 4. Para administrar los errores, vea Administrar errores de validacin.

Para validar el cdigo en el smbolo del sistema


1. Abra el smbolo del sistema de Visual Studio. 2. Elija una de las siguientes opciones: o Para validar el cdigo comparndolo con un proyecto de modelado concreto en la solucin, ejecute MSBuild con la siguiente propiedad personalizada.
o msbuild <FilePath+ModelProjectFileName>.modelproj /p:ValidateArchitecture=true

-O bienVaya a la carpeta que contiene el archivo de proyecto de modelado (.modelproj) y el diagrama de capas y, a continuacin, ejecute MSBuild con la siguiente propiedad personalizada:
msbuild /p:ValidateArchitecture=true o o

Para validar el cdigo comparndolo con todos los proyectos de modelado de la solucin, 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 continuacin, ejecute MSBuild con la siguiente propiedad personalizada:
msbuild /p:ValidateArchitecture=true

3. Se mostrar cualquier error que se produzca. Para obtener ms informacin acerca de MSBuild, vea MSBuild y MSBuild (Tarea). Para obtener ms informacin sobre los errores de validacin, vea Comprender y resuelva los errores de validacin de capas.

Administrar errores de validacin


Durante el proceso de desarrollo, puede que desee suprimir algunos de los conflictos notificados durante la validacin. 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 validacin

En la ventana Lista de errores, haga clic con el botn 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 validacin de la ventana Lista de errores: Para Siga estos pasos Haga clic con el botn secundario en uno o varios errores seleccionados, elija Administrar errores de validacin y, a continuacin, haga clic en Suprimir errores. Los errores suprimidos aparecen tachados. La prxima vez que ejecute la validacin, estos errores no aparecern. El seguimiento de los errores suprimidos se lleva a cabo en un archivo .suppressions relacionado con el archivo de diagrama de capas correspondiente. Haga clic con el botn secundario en el error o errores suprimidos seleccionados, elija Administrar errores de validacin y, a continuacin, haga clic en Detener supresin de errores. La prxima vez que ejecute la validacin, los errores suprimidos aparecern.

Suprimir los errores seleccionados durante la validacin

Detener la supresin de los errores seleccionados

Haga clic con el botn secundario en cualquier parte en la ventana Lista de errores, elija Administrar errores de validacin y, a continuacin, haga clic en Mostrar errores suprimidos. Haga clic con el botn secundario en cualquier parte en la Ocultar todos los errores ventana Lista de errores, elija Administrar errores de suprimidos en la ventana validacin y, a continuacin, haga clic en Ocultar errores Lista de errores suprimidos. Validar el cdigo automticamente Restaurar todos los errores suprimidos en la ventana Lista de errores

Puede realizar la validacin de capas cada vez que ejecute una compilacin local. Si el equipo utiliza Team Foundation Build, puede realizar la validacin de capas con entradas validadas, que puede especificar creando una tarea personalizada de MSBuild, y utiliza los informes de compilacin para recopilar errores de validacin. Para crear compilaciones de proteccin, consulta Definir un proceso de compilacin de proteccin controlada para validar cambios.

Para validar el cdigo automticamente durante una compilacin local

Use un editor de texto para abrir el archivo del proyecto de modelado (.modelproj) y, a continuacin, incluya la siguiente propiedad:

<ValidateArchitecture>true</ValidateArchitecture>

-O bien1. En el Explorador de soluciones, haga clic con el botn secundario en el proyecto de modelado que contiene el diagrama o diagramas de capas y, a continuacin, haga clic en Propiedades. 2. 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 validacin. 3. En el Explorador de soluciones, haga clic en el archivo de diagrama de capas (.layerdiagram) que desea utilizar para la validacin. 4. En la ventana Propiedades, asegrese de que la propiedad Accin de compilacin del diagrama est establecida en Validar. Esto incluye el diagrama de capas en el proceso de validacin. Para administrar los errores en la ventana Lista de errores, vea Administrar errores de validacin.

Para validar el cdigo automticamente durante una compilacin de Team Foundation


1. En Team Explorer, haga doble clic en la definicin de compilacin y, a continuacin, haga clic en Proceso. 2. En Parmetros del proceso de compilacin, expanda Compilacin y escriba lo siguiente en el parmetro Argumentos de MSBuild: /p:ValidateArchitecture=true Para obtener ms informacin sobre los errores de validacin, vea Comprender y resuelva los errores de validacin de capas. Para obtener ms informacin acerca de Team Foundation Build, vea:

Compilar la aplicacin Definir un proceso de compilacin basado en la plantilla predeterminada Definir una compilacin con la plantilla de actualizacin Crear y usar una plantilla de proceso de compilacin personalizada Supervisar el progreso de una compilacin en ejecucin

Solucionar problemas de validacin de capas

En la siguiente tabla se describen problemas de validacin de capas y su solucin. Estos problemas difieren de los errores que son resultado de conflictos entre el cdigo y el diseo. Para obtener ms informacin sobre estos errores, vea Comprender y resuelva los errores de validacin de capas. Problema Causa posible Solucin 1. Agregue un nuevo diagrama de capas al proyecto de modelado. 2. Copie los elementos del diagrama de capas de origen en el nuevo diagrama.

La validacin no funciona en los diagramas de capas que se copian de otros diagramas de Los errores de capas en el Explorador de soluciones y que validacin no estn en el mismo proyecto de modelado. Los se producen diagramas de capas que se copian de esta como se espera. manera contienen las mismas referencias que el diagrama de capas original. Comprender y resolver errores de validacin de capas

Al validar el cdigo con un diagrama de capas, los errores de validacin si el cdigo est en conflicto con el diseo. Por ejemplo, las siguientes condiciones pueden hacer errores de validacin para aparecer:

Un artefacto se ha asignado a la capa equivocada. En este caso, mueva el artefacto.

Un artefacto, como por ejemplo una clase, usa otra clase de forma que hay conflictos con su arquitectura. En este caso, tiene que refactorizar el cdigo para quitar la dependencia.

Para resolver estos errores, actualice el cdigo hasta no aparezcan ms errores durante la validacin. Puede realizar esta tarea repetitivamente. La seccin siguiente se describe la sintaxis que se utiliza en estos errores, explica el significado de estos errores, y sugiere lo que puede hacer para resolverlos o administrarlos. Sintaxis Descripcin ArtefactoN es un artefacto que est asociado a una capa del diagrama de capas. TipoDeArtefactoN es el tipo del ArtefactoN, por ejemplo, Clase o Mtodo: MiSolucin.MiProyecto.MiClase.MiMtodo(Mtodo) Nombre de un espacio de nombres. Nombre de una capa del diagrama de capas. Tipo de relacin de dependencia entre Artefacto1 y Artefacto2. Por ejemplo, Artefacto1 tiene una relacin Llama a con Artefacto2. Descripcin del error

ArtefactoN(TipoDeArtefactoN)

EspacioDeNombresN NombreDeCapaN TipoDeDependencia

Sintaxis de error AV0001: Dependencia no vlida: Artefacto1(TipoDeArtefacto1)--> Artefacto1 de NombreDeCapa1 no debe tener Artefacto2(TipoDeArtefacto2) dependencias con Artefacto2 de NombreDeCapa2 porque NombreDeCapa1 no tiene una dependencia Capas: NombreDeCapa1, directa con NombreDeCapa2. NombreDeCapa2 | Dependencias: TipoDeDependencia AV1001: Espacio de nombres no vlido: Artefacto Es necesario que los artefactos asociados a NombreDeCapa pertenezcan a Capa: NombreDeCapa | Espacio NombreDeEspacioDeNombres1. Artefacto est en de nombres requerido: NombreDeEspacioDeNombres2, no en NombreDeEspacioDeNombres1 | NombreDeEspacioDeNombres1. Espacio de nombres actual: NombreDeEspacioDeNombres2 AV1002: Uso de un espacio de Es necesario que los artefactos asociados a nombres prohibido: NombreDeCapa no dependan de Artefacto1(TipoDeArtefacto1) | NombreDeEspacioDeNombres. Artefacto1 no puede Artefacto2(TipoDeArtefacto2) depender de Artefacto2 porque Artefacto2 est en NombreDeEspacioDeNombres.

Capa: NombreDeCapa | Espacio de nombres prohibido: NombreDeEspacioDeNombres | Dependencias: TipoDeDependencia AV1003: En espacio de nombres prohibido: Es necesario que los artefactos asociados a Artefacto(TipoDeArtefacto) NombreDeCapa no pertenezcan aNombreDeEspacioDeNombres. Artefacto pertenece a Capa: NombreDeCapa | Espacio NombreDeEspacioDeNombres. de nombres prohibido: NombreDeEspacioDeNombres AV3001: Falta un vnculo: la capa La capa NombreDeCapa est vinculada con un artefacto 'NombreDeCapa' est vinculada a que no se encuentra. Por ejemplo, es posible que falte 'Artefacto' que no se encuentra. un vnculo a una clase porque en el proyecto de Falta una referencia de modelado falta una referencia al ensamblado que ensamblado? contiene la clase. AV9001: El anlisis de arquitectura encontr errores internos. Puede que los resultados Vea el evento de compilacin registrar o la ventana de no estn completos. Vea el salida para obtener ms detalles. registro detallado de eventos de compilacin o la ventana de salida para obtener ms informacin.

Вам также может понравиться