Condividi tramite


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

Le informazioni contenute in questo argomento sono valide per:

Visual Studio Ultimate

Visual Studio Premium

Visual Studio Professional

Visual Studio Express

Argomento applicabile Argomento applicabile Argomento non applicabile Argomento non applicabile

La convalida di codice rispetto a un diagramma livello consente di rafforzare ulteriormente i vincoli architetturali posti sul codice man mano che si evolve. Quando si esegue questa attività, le dipendenze nel codice vengono confrontate con le dipendenze sul diagramma. 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. Per ulteriori informazioni, vedere Procedura: creare diagrammi livello da elementi e Diagrammi livello: linee guida.

  • 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.

Prima che sia possibile convalidare il codice, è necessario includere nella soluzione Visual Studio almeno un progetto di modello contenente un diagramma livello. Il 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. È necessario definire questi livelli, collegare a essi elementi e descrivere le dipendenze desiderate tra tali elementi.

Nota

Alcuni tipi di elementi possono essere collegati a livelli, ma non supportano la convalida in base al diagramma livello. Per verificare se l'elemento supporta la convalida, aprire Esplora livello per esaminare la proprietà Convalida supporti del collegamento all'elemento. Per ulteriori informazioni, vedere Elementi che non supportano la convalida.

Per ulteriori informazioni su come creare diagrammi livello, vedere gli argomenti seguenti:

Per convalidare il codice C o C++, scaricare e installare Feature Pack di visualizzazione e modellazione di Microsoft Visual Studio 2010.

Per ulteriori informazioni, vedere Procedura: convalidare codice C e C++ in base ai diagrammi livelli.

In questo argomento

  • Aggiungere manualmente assembly e progetti per la convalida.

  • Convalidare manualmente il codice in qualsiasi momento.

  • Convalidare automaticamente il codice durante una compilazione locale.

  • Convalidare il codice automaticamente durante un'operazione di Team Foundation Build.

  • Risolvere i problemi con convalida dei livelli.

Aggiungere manualmente assembly e progetti per la convalida

La cartella Riferimenti livello all'interno di un progetto di modello contiene i riferimenti agli assembly e ai progetti analizzati durante la convalida. Quando si trascinano elementi nel diagramma livello, i riferimenti agli assembly o ai progetti corrispondenti vengono aggiunti automaticamente a questa cartella. È anche possibile aggiungere gli assembly e i progetti per la convalida manualmente, senza trascinarli nel diagramma livello.

Per aggiungere manualmente assembly e progetti per la convalida

  1. In Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto di modello o sulla cartella Riferimenti livello, quindi scegliere Aggiungi riferimento.

  2. Nella finestra di dialogo Aggiungi riferimento selezionare gli assembly o i progetti, quindi fare clic su OK.

Convalidare manualmente il codice in qualsiasi momento

Per convalidare il codice da un diagramma livello aperto

  1. Fare clic con il pulsante destro del mouse sulla superficie del diagramma e scegliere Convalida architettura.

    Nota

    Per impostazione predefinita, la proprietà Operazione di compilazione del file del diagramma livello (con estensione layerdiagram) viene impostata su Convalida al fine di includere il diagramma nel processo di convalida.

    Nella finestra Elenco errori vengono riportati gli eventuali errori verificatisi. Per ulteriori informazioni sugli errori di convalida, vedere Informazioni sugli errori di convalida del livello.

  2. Per visualizzare l'origine di ciascun errore, fare doppio clic sull'errore nella finestra Elenco errori.

    Nota

    In Visual Studio potrebbe essere visualizzato un grafico delle dipendenze anziché l'origine dell'errore. Ciò si verifica quando il codice presenta una dipendenza in un assembly che non è specificata nel diagramma livello o quando al codice manca una dipendenza specificata nel diagramma livello. Esaminare il grafico delle dipendenze o il codice per determinare se la dipendenza deve esistere. Per ulteriori informazioni sui grafici delle dipendenze, vedere Procedura: esplorare documenti grafico e spostarsi tra di essi.

  3. Per gestire gli errori, vedere Gestire gli errori di convalida.

Per convalidare il codice dal prompt dei comandi

  1. Aprire il prompt dei comandi di Visual Studio.

    Per aprire il prompt dei comandi, nel menu Start scegliere Tutti i programmi, Microsoft Visual Studio 2010, Visual Studio Tools, quindi fare clic su Prompt dei comandi di Visual Studio 2010.

  2. Effettuare una delle seguenti operazioni:

    • Per convalidare il codice rispetto a un progetto di modello specifico nella soluzione, eseguire MSBuild con la seguente proprietà personalizzata.

      msbuild <FilePath+ModelProjectFileName>.modelproj
      /p:ValidateArchitecture=true
      

      - oppure -

      Passare alla cartella contenente il file di progetto di modello (con estensione modelproj) e il diagramma livello, quindi eseguire MSBuild con la seguente proprietà personalizzata.

      msbuild /p:ValidateArchitecture=true 
      
    • Per convalidare il codice rispetto a tutti i progetti di modello nella soluzione, eseguire MSBuild con la seguente proprietà personalizzata:

      msbuild <FilePath+SolutionName>.sln /p:ValidateArchitecture=true 
      

      - oppure -

      Individuare la cartella della soluzione che deve contenere un progetto di modello che a sua volta contiene un diagramma livello, quindi eseguire MSBuild con la seguente proprietà personalizzata.

      msbuild /p:ValidateArchitecture=true
      

    Verranno elencati tutti gli errori che si verificano. Per ulteriori informazioni su MSBuild, vedere MSBuild e Attività MSBuild.

Per ulteriori informazioni sugli errori di convalida, vedere Informazioni sugli errori di convalida del livello.

Gestire gli errori di convalida

Durante il processo di sviluppo, potrebbe essere necessario eliminare alcuni conflitti segnalati durante la convalida. Ad esempio, è possibile eliminare gli errori che sono già stati corretti o che non sono attinenti allo scenario in questione. Quando si elimina un errore, è buona norma registrare un elemento di lavoro in Team Foundation.

Per creare un elemento di lavoro per un errore di convalida

  • Nella finestra Elenco errori fare clic con il pulsante destro del mouse sull'errore, scegliere Crea elemento di lavoro, quindi fare clic sul tipo di elemento di lavoro che si desidera creare.

Per gestire errori di convalida nella finestra Elenco errori utilizzare queste attività:

Per

Si seguano le seguenti istruzioni

Eliminare gli errori selezionati durante la convalida

Fare clic con il pulsante destro del mouse su uno o più errori selezionati, scegliere Gestisci errori di convalida, quindi fare clic su Elimina errori.

Gli errori eliminati vengono visualizzati come barrati. Alla successiva convalida, questi errori non saranno visualizzati.

Gli errori eliminati vengono registrati in un file con estensione suppressions per il file del diagramma livello corrispondente.

Interrompere l'eliminazione di errori selezionati

Fare clic con il pulsante destro del mouse sull'errore o sugli errori eliminati selezionati, scegliere Gestisci errori di convalida e fare clic su Interrompi eliminazione errori.

Alla successiva convalida, gli errori eliminati selezionati verranno visualizzati.

Ripristinare tutti gli errori eliminati nella finestra Elenco errori

Fare clic con il pulsante destro del mouse su un punto qualsiasi della finestra Elenco errori, scegliere Gestisci errori di convalida, quindi fare clic su Mostra tutti gli errori eliminati.

Nascondere tutti gli errori eliminati dalla finestra Elenco errori

Nella finestra Elenco errori, fare clic con il pulsante destro del mouse su un punto qualsiasi, scegliere Gestisci errori di convalida, quindi fare clic su Nascondi tutti gli errori eliminati.

Convalidare automaticamente il codice durante una compilazione locale

Utilizzare questo metodo per convalidare il codice automaticamente ogni volta che si esegue una compilazione.

Per convalidare automaticamente il codice da una compilazione locale

  • Utilizzare un editor di testo per aprire il file del progetto di modello (.modelproj), quindi includere la proprietà seguente:
<ValidateArchitecture>true</ValidateArchitecture>

- oppure -

  1. In Esplora soluzioni, fare clic con il pulsante destro del mouse nel progetto di modello contenente il diagramma o i diagrammi livello, quindi fare clic su Proprietà.

  2. Nella finestra Proprietà, impostare la proprietà Convalida architettura del progetto di modello su True.

    Il progetto di modello viene incluso nel processo di convalida.

  3. In Esplora soluzioni fare clic sul file del diagramma livello (con estensione layerdiagram) che si desidera utilizzare per la convalida.

  4. Nella finestra Proprietà controllare che la proprietà Azione compilazione del diagramma sia impostata su Convalida.

    Il diagramma livello viene incluso nel processo di convalida.

Per ulteriori informazioni sugli errori di convalida, vedere Informazioni sugli errori di convalida del livello. Per gestire gli errori, vedere Gestire gli errori di convalida.

Convalidare il codice automaticamente durante un'operazione di Team Foundation Build

Per evitare che le modifiche apportate al codice causino conflitti con la progettazione desiderata, includere la convalida dei livelli nelle compilazioni in esecuzione mediante Team Foundation Build e nelle archiviazioni gestite, specificando tale inclusione mediante un'attività di MSBuild personalizzata. Per raccogliere gli errori di convalida, utilizzare i rapporti di compilazione.

Per ulteriori informazioni su Team Foundation Build, vedere i seguenti argomenti:

Per ulteriori informazioni su come creare le compilazioni di archiviazione gestita, vedere Definire una compilazione di archiviazione gestita per convalidare le modifiche.

Per convalidare il codice durante l'esecuzione di Team Foundation Build

  1. In Team Explorer, fare doppio clic sulla definizione della compilazione e scegliere Processo.

  2. Sotto Parametri processo di compilazione, espandere Compilazione e digitare il seguente nel parametro MSBuild Arguments:

    /p:ValidateArchitecture=true

Per ulteriori informazioni, vedere Definire una compilazione utilizzando il modello predefinito.

Elementi che non supportano la convalida

Tra gli elementi che non supportano la convalida in base a un diagramma livello sono inclusi i progetti C++, i siti Web, i documenti di Office e i file di testo normale. È possibile collegare tali elementi ai livelli, ma verranno ignorati dal processo di convalida. Gli errori di convalida non vengono visualizzati per i riferimenti a progetti o assembly collegati a livelli separati quando tra tali livelli non è presente alcuna dipendenza. Tali riferimenti non vengono considerati dipendenze a meno che il codice non li utilizzi.

Per verificare se un elemento supporta la convalida

  1. Selezionare uno o più livelli su un diagramma livello, fare clic con il pulsante destro del mouse sulla selezione, quindi scegliere Visualizza collegamenti.

  2. In Esplora livello, esaminare la colonna Convalida supporti.

    Se il valore per un collegamento all'elemento è false, l'elemento in questione non supporta convalida.

Risolvere i problemi con convalida dei livelli

Nella tabella seguente vengono descritti i problemi di convalida dei livelli e la relativa risoluzione. Questi problemi differiscono dagli errori risultanti da conflitti tra il codice e la progettazione. Per ulteriori informazioni su questi errori, vedere Informazioni sugli errori di convalida del livello.

Problema

Possibile causa

Risoluzione

Gli errori di convalida non si verificano come previsto.

La convalida non funziona sui diagrammi livello copiati da altri diagrammi livello in Esplora soluzioni e appartenenti allo stesso progetto di modello. I diagrammi livello copiati in questo modo contengono gli stessi riferimenti del diagramma livello originale.

  1. Aggiungere un nuovo diagramma livello al progetto di modello.

  2. Copiare gli elementi dal diagramma livello di origine al nuovo diagramma.

Vedere anche

Concetti

Convalida del sistema durante lo sviluppo

Altre risorse

Informazioni sugli errori di convalida del livello