Cómo: Validar código C y C++ con diagramas de capas
Este Feature Pack de Visual Studio 2010 permite que se apliquen las restricciones arquitectónicas en el código de C y C++ de Visual Studio 2010 Ultimate a medida que el código evoluciona. Para realizar esta tarea, ejecute la validación de capas con regularidad para comparar las dependencias del código con las dependencias en un diagrama de capas. Un diagrama de capas describe la arquitectura del sistema y organiza los espacios de nombres, los proyectos y otros artefactos en grupos lógicos, abstractos o capas. Estas capas describen los componentes principales del sistema o las tareas que realizan estos artefactos. Para crear un diagrama de capas para código de C o C++, siga los mismos pasos que para los del código .NET. Para obtener más información, vea Cómo: Crear diagramas de capas desde artefactos y Paquetes de características de Visual Studio.
Nota
Debe instalar un Feature Pack de Visual Studio 2010 para usar esta característica.
En los archivos binarios, la validación de capa se realiza solo en el nivel binario. Aunque puede vincular otros tipos de artefactos a un diagrama de capas, la validación de capa solo analiza las dependencias en el nivel binario.
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.
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.
En este tema se describen requisitos que se deben cumplir antes de ejecutar la validación de capa en el código de C o C++.
Requisitos
Asegúrese de que Visual C# está instalado con Visual Studio.
Crear un proyecto de modelado con un diagrama de capas
Para validar las dependencias de archivos binarios, agregue los archivos binarios al proyecto de modelado
Para validar proyectos de C y C++ en Team Foundation Build, vea Requisitos de Team Foundation Build.
Después de cumplir estos requisitos, puede seguir los mismos pasos que para el código .NET. Para consultar estos pasos, vea Cómo: Validar código .NET con diagramas de capas. Para conocer los problemas relacionados con los proyectos de modelado y los diagramas de capas creados a partir de código de C o C++, vea Solución de problemas.
Crear un proyecto de modelado con un diagrama de capas
La solución de Visual Studio debe incluir un proyecto de modelado que contenga un diagrama de capas.
Para crear un proyecto de modelado
En el Explorador de soluciones, haga clic con el botón secundario en el nodo de solución de nivel superior, elija Agregar y, a continuación, haga clic en Nuevo proyecto.
En el cuadro de diálogo Agregar nuevo proyecto, en Plantillas instaladas, haga clic en Proyectos de modelado y, a continuación, haga clic en Proyecto de modelado.
Cambie el nombre del proyecto y, a continuación, haga clic en Aceptar.
Visual Studio agrega un nuevo proyecto de modelado a la solución.
Asegúrese de guardar el proyecto de modelado.
Para crear un diagrama de capas
En el menú Arquitectura, haga clic en Nuevo diagrama y, a continuación, en el cuadro de diálogo Agregar nuevo diagrama, haga clic en Diagrama de capas.
Cambie el nombre del diagrama, seleccione el proyecto de modelado y, a continuación, haga clic en Aceptar.
Visual Studio agrega un diagrama de capas en blanco al proyecto de modelado y, a continuación, muestra el diagrama.
En el Explorador de soluciones, arrastre un proyecto de C o C++ a la superficie del diagrama de capas.
-O bien-
En el Explorador de arquitectura, arrastre al menos un binario a la superficie del diagrama de capas.
Al realizar cualquiera de estos pasos, también se agregarán automáticamente los siguientes elementos al proyecto de modelado:
Referencias al proyecto de modelado.
Un elemento <Import> para el archivo de proyecto de modelado (.modelproj) que importa un archivo .targets personalizado y habilita la validación de capa del código de C o C++.
Defina otras capas, vincule artefactos a ellas y describa las dependencias previstas entre esos artefactos.
Para obtener más información, vea Cómo: Crear diagramas de capas desde artefactos y Diagrama de capas: Instrucciones.
Asegúrese de guardar el proyecto de modelado.
Importante
Si guarda sólo el diagrama de capas, pero no el proyecto de modelado y, a continuación, cierra la solución, debe agregar las referencias de proyecto de C o C++, e importar manualmente el archivo .targets personalizado correspondiente al proyecto de modelado. Para obtener más información, vea Solución de problemas.
![]() |
---|
Al crear un diagrama de capas a partir de código de C o C++ en Visual Studio 2010 Ultimate en Windows XP o Windows 2003, se usa una ruta de acceso absoluta para crear la entrada en el archivo de proyecto de modelado (.modelproj) para importar el archivo Microsoft.VisualStudio.Progression.NativeProvider.targets personalizado. Esto podría producir problemas si intenta abrir la solución en Windows 7, Windows Vista o Windows Server 2008. Si ejecuta Visual Studio 2010 Ultimate en Windows XP o Windows 2003, no puede abrir diagramas de capas creados en Visual Studio 2010 Ultimate en Windows 7, Windows Vista o Windows Server 2008. Para resolver este problema, vea Solución de problemas. |
Agregar archivos binarios al proyecto de modelado
Si desea validar las dependencias de archivos binarios, debe agregar los archivos binarios que desea validar al proyecto de modelado manualmente. No se agregan automáticamente al arrastrarlos al diagrama de capas.
Para agregar archivos binarios al proyecto de modelado
En el Explorador de soluciones, haga clic con el botón secundario en el proyecto de modelado y, a continuación, haga clic en Agregar elemento existente.
En el cuadro de diálogo Agregar elemento existente, busque los archivos binarios, selecciónelos y, a continuación, haga clic en Aceptar.
Los archivos binarios aparecen en el proyecto de modelado.
En el Explorador de soluciones, haga clic en un archivo binario que agregó y, a continuación, presione F4 para abrir la ventana Propiedades.
En cada archivo binario, establezca la propiedad Acción de compilación en Validar.
Requisitos de Team Foundation Build
Para validar proyectos de C y C++ en el servidor Team Foundation Build, debe seguir estos pasos:
Para compilar los proyectos, asegúrese de que está instalado lo siguiente en el servidor:
Uno de los siguientes: Visual C++ 2010 Express, Visual Studio 2010 Professional, Visual Studio 2010 Premium o Visual Studio 2010 Ultimate
Sugerencia
Si Visual Studio 2010 Ultimate está instalado en el servidor, puede instalar el Feature Pack en el servidor en lugar de seguir los pasos 2 y 3. De lo contrario, si no existe la carpeta …\<NombreDeFeaturePackDeVisualStudio>\<NúmeroDeVersiónDeFeaturePackDeVisualStudio> en el servidor, quizás tenga que crearla. A menos que haya instalado el Feature Pack en una ubicación diferente, %LocalAppData% es normalmente DriveName:\Users\nombreDeUsuario\AppData\Local. En Windows XP o Windows 2003, use %AppData% en lugar de %LocalAppData%.
Si tiene instalado el Feature Pack de visualización y modelado de Visual Studio 2010:
Copie el archivo Microsoft.VisualStudio.Progression.NativeProvider.targets de la siguiente ubicación de instalación de Feature Pack en la misma ubicación en el servidor:
%LocalAppData%\Microsoft\VisualStudio\10.0\Extensions\Microsoft\<NombreDeFeaturePackDeVisualStudio>\1.0
Si tiene instalado el Feature Pack 2 de Visual Studio 2010:
Copie el archivo Microsoft.VisualStudio.Progression.NativeProvider.targets de la siguiente ubicación de instalación de Feature Pack:
…\Microsoft Visual Studio 10.0\Common7\IDE\Extensions\<NombreDeFeaturePackDeVisualStudio>\<NúmeroDeVersiónDeFeaturePackDeVisualStudio>
en la siguiente ubicación del servidor:
…\Microsoft Visual Studio 10.0\Common7\IDE\Extensions\Microsoft\Modeling\<NombreDeFeaturePackDeVisualStudio>\1.0
Copie el archivo Microsoft.VisualStudio.Progression.NativeProvider.dll de una de las siguientes ubicaciones de instalación de Feature Pack, dependiendo de la versión de Feature Pack que haya instalado:
Feature Pack de visualización y modelado de Visual Studio 2010: %LocalAppData%\Microsoft\VisualStudio\10.0\Extensions\Microsoft\<NombreDeFeaturePackDeVisualStudio>\1.0
Feature Pack 2 de Visual Studio 2010: …\Microsoft Visual Studio 10.0\Common7\IDE\Extensions\<NombreDeFeaturePackDeVisualStudio>\<NúmeroDeVersiónDeFeaturePackDeVisualStudio>
en la siguiente ubicación del servidor:
…\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies\Providers
Solución de problemas
Si guarda sólo el diagrama de capas, pero no el proyecto de modelado y, a continuación, cierra la solución, debe agregar las referencias de proyecto de C o C++, e importar manualmente el archivo .targets personalizado correspondiente al proyecto de modelado siguiendo estos pasos:
Para |
Siga estos pasos |
---|---|
Agregar las referencias de proyecto de C o C++ |
|
Importar el archivo .targets personalizado |
|
Al crear un diagrama de capas a partir de código de C o C++ en Visual Studio 2010 Ultimate en Windows XP o Windows 2003, se usa una ruta de acceso absoluta para crear la entrada en el archivo de proyecto de modelado (.modelproj) para importar el archivo Microsoft.VisualStudio.Progression.NativeProvider.targets personalizado. Esto podría producir problemas si intenta abrir la solución en Windows 7, Windows Vista o Windows Server 2008. Si ejecuta Visual Studio 2010 Ultimate en Windows XP o Windows 2003, no puede abrir diagramas de capas creados en Visual Studio 2010 Ultimate en Windows 7, Windows Vista o Windows Server 2008.
Para resolver este problema, use una de estas soluciones alternativas:
Copie el archivo Microsoft.VisualStudio.Progression.NativeProvider.targets de la siguiente ubicación en la carpeta que contiene el proyecto de modelado:
Si tiene instalado el Feature Pack de visualización y modelado de Visual Studio 2010:
%LocalAppData%\Microsoft\VisualStudio\10.0\Extensions\Microsoft\<NombreDeFeaturePackDeVisualStudio>\1.0
Sugerencia
A menos que haya instalado el Feature Pack en una ubicación diferente, %LocalAppData% es normalmente DriveName:\Users\nombreDeUsuario\AppData\Local. En Windows XP o Windows 2003, use %AppData% en lugar de %LocalAppData%.
Si tiene instalado el Feature Pack 2 de Visual Studio 2010:
…\Microsoft Visual Studio 10.0\Common7\IDE\Extensions\<NombreDeFeaturePackDeVisualStudio>\<NúmeroDeVersiónDeFeaturePackDeVisualStudio>
En el archivo .modelproj, actualice el elemento <Import> correspondiente al archivo .targets; para ello, reemplace la ruta de acceso absoluta con una ruta de acceso relativa del archivo .targets. Por ejemplo:
<Import Project="Microsoft.VisualStudio.Progression.NativeProvider.targets" />
Importante
Si usa el control de versiones, debe comprobar el archivo .targets en el control de versiones.
-O bien-
Cree una nueva variable de entorno que representa la ruta de instalación del archivo Microsoft.VisualStudio.Progression.NativeProvider.dll.
Use esta variable para importar el archivo .targets.
Por ejemplo, puede crear una variable de entorno como "RutaDeDestinoDeProveedorNativo" que señala a la ubicación donde se encuentra el archivo .targets. A continuación, puede actualizar el elemento <Import> como sigue:
<Import Project="$(NativeProviderTargetPath)\Microsoft.VisualStudio.Progression.NativeProvider.targets" />
Importante
Asegúrese de establecer correctamente la variable de entorno en sistemas operativos diferentes.
Vea también
Tareas
Cómo: Crear diagramas de capas desde artefactos
Cómo: Validar código .NET con diagramas de capas
Conceptos
Diagrama de capas: Instrucciones
Historial de cambios
Fecha |
Historial |
Motivo |
---|---|---|
Diciembre de 2010 |
Actualizado para el Feature Pack 2 de Visual Studio 2010. |
Mejora de la información. |