Como: Validar a códigos c e C++ contra os diagramas de camada

Este pacote de recursos de 2010 Visual Studio permite impor restrições de arquiteturais contra código c e C++ no Visual Studio 2010 Ultimate o código evolui. Para executar essa tarefa, execute a validação da camada regularmente para comparar as dependências no código de dependências em um diagrama de camada. Um diagrama de camada descreve a arquitetura do sistema e organiza os namespaces, projetos e outros artefatos em grupos lógicos, abstract ou camadas. Essas camadas descrevem os principais componentes do sistema ou as tarefas que realiza a esses artefatos. Para criar um diagrama de camada para código c ou C++, siga as mesmas etapas para aqueles para.NET do. Para obter mais informações, consulte Como: Crie diagramas de camada de artefatos e Pacotes de funcionalidades de Visual Studio.

ObservaçãoObservação

Para arquivos binários, a validação da camada é realizada no nível binário. Embora, por exemplo, você pode vincular a outros tipos de artefatos para um diagrama de camada, a validação da camada analisa somente dependências no nível binário.

Camada de validação também pode ajudar com as seguintes tarefas:

  • Consulte as diferenças entre o código existente e o seu design pretendido.

  • Localize o código que não estiverem organizado conforme pretendido ou que tenha dependências indesejáveis.

  • Localize as dependências que podem ser afetadas por alterações propostas.

    Por exemplo, você pode modificar o diagrama de camada para mostrar possíveis alterações de arquitetura e valide o código para ver as dependências afetadas.

  • Refatorar ou migrar o código para um design diferente.

    Localize o código ou dependências que ainda exigem o trabalho ao mover o código para uma arquitetura diferente.

Este tópico descreve os requisitos que devem ser atendidos antes de executar a validação de camada em código c ou C++.

Requisitos

  • Certifique-se de que C# Visual é instalado com o Visual Studio.

  • Criar um projeto de modelagem com um diagrama de camada

  • Para validar as dependências do arquivo binário, adicione os arquivos binários para o projeto de modelagem

  • Para validar a projetos c e C++ no Team Foundation Build, consulte Requisitos do Team Foundation Build.

Após cumprir esses requisitos, você pode seguir as mesmas etapas como aqueles para.NET do. Para essas etapas, consulte Como: Valide.NET Code contra os diagramas de camada. Para problemas relacionados à modelagem de projetos e diagramas de camada, criados a partir de código c ou C++, consulte solução de problemas.

Criar um projeto de modelagem com um diagrama de camada

O Visual Studio solução deve incluir um projeto de modelagem que tem um diagrama de camada.

Para criar um projeto de modelagem

  1. Em Solution Explorer, o botão direito do mouse no nó da solução de nível superior, aponte para Adde em seguida, clique em Novo projeto.

  2. No Add New Project caixa de diálogo, em Modelos instalados, clique em Projetos de modelageme em seguida, clique em Projeto de modelagem.

  3. Renomeie o projeto e, em seguida, clique em OK.

    Visual StudioAdiciona um novo projeto de modelagem para a solução.

  4. Certifique-se de salvar o projeto de modelagem.

Para criar um diagrama de camada

  1. No arquitetura menu, clique em Novo diagramae, no Add New Diagram caixa de diálogo, clique em Diagrama de camada.

  2. Renomear o diagrama, selecione o projeto de modelagem e, em seguida, clique em OK.

    Visual StudioAdiciona um diagrama de camada em branco para o projeto de modelagem e exibe o diagrama.

  3. De Solution Explorer, arraste pelo menos um projeto c ou C++ para a superfície de diagrama de camada.

    - ou -

    De Explorer de arquitetura, arraste pelo menos um binário para a superfície de diagrama de camada.

    Executar essas etapas também adicionará os seguintes itens para o projeto de modelagem automaticamente:

    • Referências de projeto para o projeto de modelagem.

    • Um <Import> elemento para a modelagem do projeto (.modelproj) de arquivo que importa um arquivo. targets personalizado e permite a validação de camada para código c ou C++.

  4. Definir outras camadas, vinculá-las artefatos e descrever as dependências pretendidas entre esses artefatos.

    Para obter mais informações, consulte Como: Crie diagramas de camada de artefatos e Diagramas de camada: Diretrizes.

  5. Certifique-se de salvar o projeto de modelagem.

    Observação importanteImportante

    Se você salva o diagrama de camada, mas não o projeto de modelagem e feche a solução, você deve adicionar as referências do projeto c ou C++ e importar o arquivo. targets personalizado manualmente para o projeto de modelagem. Para obter mais informações, consulte solução de problemas.

Observação importanteImportante

Quando você cria um diagrama de camada do código c ou C++ no Visual Studio 2010 Ultimate no Windows XP ou Windows 2003, um caminho absoluto é usado para criar a entrada na modelagem arquivo de projeto (.modelproj) para importar personalizado Microsoft.VisualStudio.Progression.NativeProvider.targets arquivo. Isso pode causar problemas se você tentar abrir a solução no Windows 7, o Windows Vista ou o Windows Server 2008. Se você estiver executando Visual Studio 2010 Ultimate no Windows XP ou Windows 2003, é possível abrir os diagramas de camada que foram criados no Visual Studio 2010 Ultimate no Windows Server 2008, Windows Vista ou Windows 7. Para resolver esse problema, consulte solução de problemas.

Adicione os arquivos binários para o projeto de modelagem

Se você deseja validar as dependências do arquivo binário, deve adicionar manualmente os arquivos binários que você deseja validar o projeto de modelagem. Eles não são adicionados automaticamente quando você as arrasta para o diagrama de camada.

Para adicionar arquivos binários para o projeto de modelagem

  1. Em Solution Explorer, o botão direito do mouse no projeto de modelagem e, em seguida, clique em Add Existing Item.

  2. No Add Existing Item caixa de diálogo, procure os arquivos binários, selecione-os e clique OK.

    Os arquivos binários são exibidos no projeto da modelagem.

  3. Em Solution Explorer, clique em um arquivo binário que você adicionou e pressione F4 para abrir o Propriedades janela.

  4. Em cada arquivo binário, defina a Build Action propriedade para Validar.

Requisitos do Team Foundation Build

Para validar a projetos c e C++ no Team Foundation Build server, você deve seguir estas etapas:

  1. Para compilar os projetos, certifique-se de que estão instalados no servidor:

    Dica

    Se Visual Studio 2010 Ultimate está instalado no servidor, você pode instalar o pacote de recursos no servidor em vez de executar as etapas 2 e 3. Caso contrário, se a …\<InsertVisualStudioFeaturePackName>\<InsertVisualStudioFeaturePackVersionNumber> pasta não existe no servidor, talvez seja necessário criá-la. A menos que você instalou o feature pack em um local diferente, % LocalAppData % costuma ser Nome_da_unidade: \Users\nome de usuário\AppData\Local. No Windows XP ou Windows 2003, use % AppData % em vez de % LocalAppData %.

  2. Se você tiver Visual Studio visualização de 2010 e modelagem Feature Pack instalado:

    Cópia do Microsoft.VisualStudio.Progression.NativeProvider.targets arquivo a partir do seguinte local de instalação do pack do recurso no mesmo local no servidor:

    %LocalAppData%\Microsoft\VisualStudio\10.0\Extensions\Microsoft\<InsertVisualStudioFeaturePackName>\1.0

    Se você tiver Visual Studio 2010 recurso Pack 2 instalado:

    Cópia do Microsoft.VisualStudio.Progression.NativeProvider.targets arquivo a partir do seguinte local de instalação do recurso pack:

    10.0\Common7\IDE\Extensions\ de Visual Studio …\Microsoft<InsertVisualStudioFeaturePackName>\<InsertVisualStudioFeaturePackVersionNumber>

    no seguinte local no servidor:

    10.0\Common7\IDE\Extensions\Microsoft\Modeling\ de Visual Studio …\Microsoft<InsertVisualStudioFeaturePackName>\1.0

  3. Cópia do Microsoft.VisualStudio.Progression.NativeProvider.dll arquivo de um dos seguintes recurso pack instalação locais, dependendo da versão do feature pack que você instalou:

    • Visualização de 2010 Visual Studio e modelagem Feature Pack: %LocalAppData%\Microsoft\VisualStudio\10.0\Extensions\Microsoft\<InsertVisualStudioFeaturePackName>\1.0

    • Visual Studio 2010 Feature Pack 2: 10.0\Common7\IDE\Extensions\ de Visual Studio …\Microsoft<InsertVisualStudioFeaturePackName>\<InsertVisualStudioFeaturePackVersionNumber>

    no seguinte local do servidor:

    10.0\Common7\IDE\PrivateAssemblies\Providers de Visual Studio de …\Microsoft

Solução de problemas

Se você salva o diagrama de camada, mas não o projeto de modelagem e feche a solução, você deve adicionar as referências do projeto c ou C++ e importar o arquivo. targets personalizado manualmente para o projeto de modelagem, seguindo estas etapas:

Para

Siga estas etapas.

Adicionar referências de projeto c ou C++

  1. Em Solution Explorer, o botão direito do mouse o projeto de modelagem que contém o diagrama de camada e clique Adicionar referência de.

    - ou -

    No projeto de modelagem, clique com o botão direito do Referências de camada pasta e clique Adicionar referência de.

  2. No Add Reference caixa de diálogo, selecione os projetos que você deseja validar e clique OK.

    As referências do projeto aparecem na Referências de camada pasta.

Importe o arquivo. targets personalizado

  1. Em Solution Explorer, com o botão direito a modelagem nó de projeto e, em seguida, clique em Unload Project.

  2. Botão direito do mouse, a modelagem de nó de projeto e clique em Editar ModelingProjectName.modelproj.

  3. No ModelingProjectName.modelproj de arquivo, localize o seguinte <Import> elemento:

    <Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v10.0\ArchitectureTools\Microsoft.VisualStudio.TeamArchitect.ModelingProject.targets" />

    Sob esta <Import> elemento, adicione o seguinte <Import> elemento:

    Se você tiver Visual Studio visualização de 2010 e modelagem Feature Pack instalado:

    <Import Project="$(LocalAppData)\Microsoft\VisualStudio\10.0\Extensions\Microsoft\<InsertVisualStudioFeaturePackName>\1.0\Microsoft.VisualStudio.Progression.NativeProvider.targets" />

    ObservaçãoObservação
    Costuma ser % LocalAppData % Nome_da_unidade: \Users\nome de usuário\AppData\Local.No Windows XP ou Windows 2003, use % AppData % em vez de % LocalAppData %.Se o feature pack foi instalado em um local diferente, use esse local.Você também pode copiar o Microsoft.VisualStudio.Progression.NativeProvider.targets arquivo a partir do local de instalação do recurso pack para a pasta que contém o projeto de modelagem.

    Se você tiver Visual Studio 2010 recurso Pack 2 instalado:

    <Import Project="…$\Microsoft Visual Studio 10.0\Common7\IDE\Extensions\<InsertVisualStudioFeaturePackName>\<InsertVisualStudioFeaturePackVersionNumber>\Microsoft.VisualStudio.Progression.NativeProvider.targets" />

  4. Salve o arquivo .modelproj e, em seguida, fechá-lo.

  5. Botão direito do mouse, a modelagem de nó de projeto e clique em Reload Project.

Quando você cria um diagrama de camada do código c ou C++ no Visual Studio 2010 Ultimate no Windows XP ou Windows 2003, um caminho absoluto é usado para criar a entrada na modelagem arquivo de projeto (.modelproj) para importar personalizado Microsoft.VisualStudio.Progression.NativeProvider.targets arquivo. Isso pode causar problemas se você tentar abrir a solução no Windows 7, o Windows Vista ou o Windows Server 2008. Se você estiver executando Visual Studio 2010 Ultimate no Windows XP ou Windows 2003, é possível abrir os diagramas de camada que foram criados no Visual Studio 2010 Ultimate no Windows Server 2008, Windows Vista ou Windows 7.

Para resolver esse problema, use uma das seguintes soluções:

  1. Cópia do Microsoft.VisualStudio.Progression.NativeProvider.targets arquivo a partir do seguinte local para a pasta que contém o projeto de modelagem:

    Se você tiver Visual Studio visualização de 2010 e modelagem Feature Pack instalado:

    %LocalAppData%\Microsoft\VisualStudio\10.0\Extensions\Microsoft\<InsertVisualStudioFeaturePackName>\1.0

    Dica

    A menos que você instalou o feature pack em um local diferente, % LocalAppData % costuma ser Nome_da_unidade: \Users\nome de usuário\AppData\Local. No Windows XP ou Windows 2003, use % AppData % em vez de % LocalAppData %.

    Se você tiver Visual Studio 2010 recurso Pack 2 instalado:

    10.0\Common7\IDE\Extensions\ de Visual Studio …\Microsoft<InsertVisualStudioFeaturePackName>\<InsertVisualStudioFeaturePackVersionNumber>

  2. No arquivo .modelproj, atualizar o <Import> elemento para o arquivo. targets, substituindo o caminho absoluto com um caminho relativo para o arquivo. targets. Por exemplo:

    <Import Project="Microsoft.VisualStudio.Progression.NativeProvider.targets" />
    
    Observação importanteImportante

    Se você usar o controle de versão, você deve verificar o arquivo. targets no controle de versão.

- ou -

  1. Criar uma nova variável de ambiente que representa o caminho de instalação do Microsoft.VisualStudio.Progression.NativeProvider.dll arquivo.

  2. Use essa variável para importar o arquivo. targets.

    Por exemplo, você pode criar uma variável de ambiente como, por exemplo, "nativeprovidertargetpath" que aponta para onde se encontra o arquivo. targets. Você pode atualizar o <Import> o elemento da seguinte maneira:

    <Import Project="$(NativeProviderTargetPath)\Microsoft.VisualStudio.Progression.NativeProvider.targets" />
    
    Observação importanteImportante

    Certifique-se de que você defina a variável de ambiente corretamente em sistemas operacionais diferentes.

Consulte também

Tarefas

Como: Crie diagramas de camada de artefatos

Como: Valide.NET Code contra os diagramas de camada

Conceitos

Diagramas de camada: Diretrizes

Histórico de alterações

Date

History

Motivo

Dezembro de 2010

Atualizado para Visual Studio 2010 Feature Pack 2.

Aprimoramento de informações.