Share via


Procedura: convalidare codice C e C++ in base ai diagrammi livelli

Questo Feature Pack di Visual Studio 2010 consente di applicare vincoli architetturali al codice C e C++ in Visual Studio 2010 Ultimate di volta in volta modificato. Per effettuare questa attività, eseguire regolarmente la convalida dei livelli per confrontare le dipendenze nel codice con le dipendenze in un diagramma livello. Un diagramma livello descrive l'architettura del sistema e organizza gli spazi dei nomi, i progetti e gli altri elementi in gruppi logici e astratti o livelli. Questi livelli descrivono i componenti principali del sistema o le attività che tali elementi eseguono. Per creare un diagramma livello per il codice C o C++, attenersi alla medesima procedura seguita per il codice .NET. Per ulteriori informazioni, vedere Procedura: creare diagrammi livello da elementi e Feature Pack di Visual Studio.

Nota

Per utilizzare questa funzionalità, è necessario installare un Feature Pack di Visual Studio 2010.

Per i file binari, la convalida dei livelli viene eseguita al solo livello binario. Anche se è possibile collegare altri tipi di elementi a un diagramma livello, la convalida dei livelli analizza solo le dipendenze a livello binario.

La convalida del livello può agevolare l'utente nell'esecuzione delle attività seguenti:

  • Vedere le differenze tra il codice esistente e la progettazione desiderata.

  • Trovare il codice non organizzato come previsto o il codice che dispone di dipendenze indesiderate.

  • Trovare le dipendenze sulle quali potrebbero influire le modifiche proposte.

    Ad esempio, è possibile modificare il diagramma livello per mostrare le potenziali modifiche all'architettura e quindi convalidare il codice per vedere le dipendenze interessate.

  • Effettuare il refactoring o la migrazione del codice in una progettazione diversa.

    Trovare codice o dipendenze che richiedono ulteriori azioni quando si sposta il codice in un'architettura diversa.

In questo argomento vengono descritti i requisiti che devono essere soddisfatti per eseguire la convalida dei livelli nel codice C o C++.

Requisiti

  • Assicurarsi che Visual C# sia installato con Visual Studio.

  • Creare un progetto di modello con un diagramma livello

  • Per convalidare le dipendenze tra file binari, aggiungere i file binari al progetto di modello.

  • Per convalidare i progetti C e C++ in Team Foundation Build, vedere Requisiti per Team Foundation Build.

Dopo avere soddisfatto questi requisiti, è possibile attenersi alla medesima procedura seguita per il codice .NET. Per tale procedura, vedere Procedura: convalidare il codice .NET in base ai diagrammi livello. Per i problemi relativi ai progetti di modello e ai diagrammi livello creati dal codice C o C++, vedere Risoluzione dei problemi.

Creare un progetto di modello con un diagramma livello

La soluzione di Visual Studio deve includere un progetto di modello contenente un diagramma livello.

Per creare un progetto di modello

  1. In Esplora soluzioni fare clic con il pulsante destro del mouse sul nodo della soluzione di primo livello, scegliere Aggiungi, quindi Nuovo progetto.

  2. Nella finestra di dialogo Aggiungi nuovo progetto, in Modelli installati fare clic su Progetti di modello, quindi su Progetto di modello.

  3. Rinominare il progetto, quindi scegliere OK.

    Tramite Visual Studio verrà aggiunto un nuovo progetto di modello alla soluzione.

  4. Assicurarsi di salvare il progetto di modello.

Per creare un diagramma livello

  1. Scegliere Nuovo diagramma dal menu Architettura, quindi nella finestra di dialogo Aggiungi nuovo diagramma selezionare Diagramma livello.

  2. Rinominare il diagramma, selezionare il progetto di modello, quindi scegliere OK.

    Tramite Visual Studio viene aggiunto un diagramma livello vuoto al progetto di modello, quindi viene visualizzato il diagramma.

  3. Da Esplora soluzioni trascinare almeno un progetto C o C++ nella superficie del diagramma livello.

    - oppure -

    Da Esplora architettura trascinare almeno un file binario nella superficie del diagramma livello.

    Eseguendo uno di questi passaggi verranno inoltre aggiunti automaticamente al progetto di modello i seguenti elementi:

    • Riferimenti al progetto di modello.

    • Un elemento <Import> al file del progetto di modello (con estensione modelproj) che importa un file targets personalizzato e abilita la convalida dei livelli per il codice C o C++.

  4. Definire altri livelli, collegare elementi a essi e descrivere le dipendenze desiderate tra tali elementi.

    Per ulteriori informazioni, vedere Procedura: creare diagrammi livello da elementi e Diagrammi livello: linee guida.

  5. Assicurarsi di salvare il progetto di modello.

    Nota importanteImportante

    Se si salva solo il diagramma livello ma non il progetto di modello e quindi si chiude la soluzione, sarà necessario aggiungere i riferimenti al progetto C o C++ e importare manualmente il file targets personalizzato per il progetto di modello. Per ulteriori informazioni, vedere Risoluzione dei problemi.

Nota importanteImportante

Quando si crea un diagramma livello dal codice C o C++ in Visual Studio 2010 Ultimate in Windows XP o Windows 2003, viene utilizzato un percorso assoluto per creare la voce nel file del progetto di modello (con estensione modelproj) per importare il file Microsoft.VisualStudio.Progression.NativeProvider.targets personalizzato. Questo meccanismo potrebbe causare problemi quando si tenta di aprire la soluzione in Windows 7, Windows Vista o Windows Server 2008. Se si esegue Visual Studio 2010 Ultimate in Windows XP o Windows 2003, non sarà possibile aprire diagrammi livello creati con Visual Studio 2010 Ultimate in Windows 7, Windows Vista o Windows Server 2008. Per risolvere questo problema, vedere Risoluzione dei problemi.

Aggiunta di file binari al progetto di modello

Se si desidera convalidare le dipendenze tra file binari, è necessario aggiungere manualmente i file binari da convalidare al progetto di modello. Tali file non vengono aggiunti automaticamente quando li si trascina nel diagramma livello.

Per aggiungere file binari al progetto di modello

  1. In Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto di modello, quindi scegliere Aggiungi elemento esistente.

  2. Nella finestra di dialogo Aggiungi elemento esistente individuare i file binari, selezionarli, quindi scegliere OK.

    I file binari verranno visualizzati nel progetto di modello.

  3. In Esplora soluzioni fare clic su un file binario aggiunto e premere F4 per aprire la finestra Proprietà.

  4. Per ogni file binario, impostare la proprietà Operazione di compilazione su Convalida.

Requisiti per Team Foundation Build

Per convalidare i progetti C e C++ nel server di Team Foundation Build, è necessario attenersi alla seguente procedura:

  1. Per compilare i progetti, assicurarsi che i seguenti elementi siano installati nel server:

    SuggerimentoSuggerimento

    Se Visual Studio 2010 Ultimate è installato nel server, sarà possibile installare il Feature Pack nel server anziché eseguire i passaggi 2 e 3. In caso contrario, se la cartella …\<NomeFeaturePackVisualStudio>\<NumeroVersioneFeaturePackVisualStudio> non esiste nel server, potrebbe essere necessario crearla. A meno che non si sia installato il Feature Pack in un percorso differente, %LocalAppData% corrisponde in genere a NomeUnità:\Users\NomeUtente\AppData\Local. In Windows XP e Windows 2003, utilizzare %AppData% anziché %LocalAppData%.

  2. Se è installato il Feature Pack di visualizzazione e modellazione di Microsoft Visual Studio 2010:

    Copiare il file Microsoft.VisualStudio.Progression.NativeProvider.targets dal seguente percorso di installazione del Feature Pack allo stesso percorso nel server:

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

    Se è installato Visual Studio 2010 Feature Pack 2:

    Copiare il file Microsoft.VisualStudio.Progression.NativeProvider.targets dal seguente percorso di installazione del Feature Pack:

    …\Microsoft Visual Studio 10.0\Common7\IDE\Extensions\<NomeFeaturePackVisualStudio>\<NumeroVersioneFeaturePackVisualStudio>

    al seguente percorso nel server:

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

  3. Copiare il file Microsoft.VisualStudio.Progression.NativeProvider.dll da uno dei seguenti percorsi di installazione del Feature Pack, a seconda della versione del Feature Pack installata:

    • Feature Pack di visualizzazione e modellazione di Visual Studio 2010: %LocalAppData%\Microsoft\VisualStudio\10.0\Extensions\Microsoft\<NomeFeaturePackVisualStudio>\1.0

    • Visual Studio 2010 Feature Pack 2: …\Microsoft Visual Studio 10.0\Common7\IDE\Extensions\<NomeFeaturePackVisualStudio>\<NumeroVersioneFeaturePackVisualStudio>

    al seguente percorso nel server:

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

Risoluzione dei problemi

Se si salva solo il diagramma livello ma non il progetto di modello e quindi si chiude la soluzione, sarà necessario aggiungere i riferimenti al progetto C o C++ e importare manualmente il file targets personalizzato per il progetto di modello mediante la seguente procedura:

Per

Si seguano le seguenti istruzioni

Aggiungere i riferimenti al progetto C o C++

  1. In Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto di modello contenente il diagramma livello e scegliere Aggiungi riferimento.

    - oppure -

    Nel modello di progetto fare clic con il pulsante destro del mouse sulla cartella Riferimenti livello e scegliere Aggiungi riferimento.

  2. Nella finestra di dialogo Aggiungi riferimento selezionare i progetti che si desidera convalidare e scegliere OK.

    I riferimenti al progetto vengono visualizzati nella cartella Riferimenti livello.

Importare il file targets personalizzato

  1. In Esplora soluzioni fare clic con il pulsante destro del mouse sul nodo del progetto di modello e scegliere Scarica progetto.

  2. Fare clic con il pulsante destro del mouse sul nodo del modello di progetto e scegliere Modifica NomeProgettoModello.modelproj.

  3. Nel file NomeProgettoModello.modelproj individuare l'elemento <Import> seguente:

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

    Nell'elemento <Import> aggiungere l'elemento <Import> seguente:

    Se è installato il Feature Pack di visualizzazione e modellazione di Microsoft Visual Studio 2010:

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

    NotaNota
    %LocalAppData% corrisponde in genere a NomeUnità:\Users\NomeUtente\AppData\Local.In Windows XP e Windows 2003, utilizzare %AppData% anziché %LocalAppData%.Se il Feature Pack è stato installato in un percorso diverso, utilizzare tale percorso.È anche possibile copiare il file Microsoft.VisualStudio.Progression.NativeProvider.targets dal percorso di installazione del Feature Pack alla cartella che contiene il progetto di modello.

    Se è installato Visual Studio 2010 Feature Pack 2:

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

  4. Salvare il file modelproj e chiuderlo.

  5. Fare clic con il pulsante destro del mouse sul nodo del progetto di modello e scegliere Ricarica progetto.

Quando si crea un diagramma livello dal codice C o C++ in Visual Studio 2010 Ultimate in Windows XP o Windows 2003, viene utilizzato un percorso assoluto per creare la voce nel file del progetto di modello (con estensione modelproj) per importare il file Microsoft.VisualStudio.Progression.NativeProvider.targets personalizzato. Questo meccanismo potrebbe causare problemi quando si tenta di aprire la soluzione in Windows 7, Windows Vista o Windows Server 2008. Se si esegue Visual Studio 2010 Ultimate in Windows XP o Windows 2003, non sarà possibile aprire diagrammi livello creati con Visual Studio 2010 Ultimate in Windows 7, Windows Vista o Windows Server 2008.

Per risolvere questo problema, utilizzare una delle seguenti soluzioni alternative:

  1. Copiare il file Microsoft.VisualStudio.Progression.NativeProvider.targets dal percorso seguente alla cartella che contiene il progetto di modello:

    Se è installato il Feature Pack di visualizzazione e modellazione di Microsoft Visual Studio 2010:

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

    SuggerimentoSuggerimento

    A meno che non si sia installato il Feature Pack in un percorso differente, %LocalAppData% corrisponde in genere a NomeUnità:\Users\NomeUtente\AppData\Local. In Windows XP e Windows 2003, utilizzare %AppData% anziché %LocalAppData%.

    Se è installato Visual Studio 2010 Feature Pack 2:

    …\Microsoft Visual Studio 10.0\Common7\IDE\Extensions\<NomeFeaturePackVisualStudio>\<NumeroVersioneFeaturePackVisualStudio>

  2. Nel file modelproj, aggiornare l'elemento <Import> per il file targets sostituendo il percorso assoluto con un percorso relativo per il file targets. Di seguito è riportato un esempio:

    <Import Project="Microsoft.VisualStudio.Progression.NativeProvider.targets" />
    
    Nota importanteImportante

    Se si utilizza il controllo della versione, è necessario archiviare il file targets nel controllo della versione.

- oppure -

  1. Creare una nuova variabile di ambiente che rappresenta il percorso di installazione del file Microsoft.VisualStudio.Progression.NativeProvider.dll.

  2. Utilizzare questa variabile per importare il file targets.

    Ad esempio, è possibile creare una variabile di ambiente quale "NativeProviderTargetPath" che punta al percorso del file targets. Quindi, sarà possibile aggiornare l'elemento <Import> come segue:

    <Import Project="$(NativeProviderTargetPath)\Microsoft.VisualStudio.Progression.NativeProvider.targets" />
    
    Nota importanteImportante

    Assicurarsi di impostare correttamente la variabile di ambiente nei diversi sistemi operativi.

Vedere anche

Attività

Procedura: creare diagrammi livello da elementi

Procedura: convalidare il codice .NET in base ai diagrammi livello

Concetti

Diagrammi livello: linee guida

Cronologia delle modifiche

Data

Cronologia

Motivo

Dicembre 2010

Contenuto aggiornato per Visual Studio 2010 Feature Pack 2.

Miglioramento delle informazioni.