Condividi tramite


Procedura dettagliata: analisi del codice gestito per l'identificazione di errori del codice

Aggiornamento: novembre 2007

In questa procedura dettagliata verrà analizzato un progetto gestito per identificare gli errori del codice mediante lo strumento di analisi del codice.

Verrà descritto in modo dettagliato l'utilizzo dell'analisi del codice per analizzare gli assembly del codice gestito .NET con l'obiettivo di verificarne la conformità alle linee guida per la progettazione di Microsoft .NET Framework.

Questa procedura dettagliata consente di:

  • Analizzare e correggere gli avvisi relativi agli errori del codice.

Prerequisiti

Per analizzare un progetto gestito per identificare gli errori del codice

  1. In Development Edition aprire la soluzione ManagedDemo.

  2. Selezionare il progetto ManagedDemo in Esplora soluzioni.

  3. Scegliere Proprietà dal menu Progetto.

    Verrà visualizzata la pagina delle proprietà ManagedDemo.

  4. Fare clic su Analisicodice.

  5. Selezionare Attiva analisi codice (definisce la costante CODE_ANALYSIS).

  6. Scegliere Salva elementi selezionati dal menu File, quindi chiudere la pagina delle proprietà ManagedDemo.

  7. Scegliere Compila ManagedDemo dal menu Compila.

    Gli avvisi della compilazione del progetto ManagedDemo sono indicati nelle finestre Elenco errori e Output.

Per correggere le violazioni alle regole di analisi del codice

  1. Scegliere Elenco errori dal menu Visualizza.

    In base al profilo dello sviluppatore scelto, potrebbe essere necessario selezionare Altre finestre dal menu Visualizza, quindi fare clic su Elenco errori.

  2. In Esplora soluzioni, scegliere Mostra tutti i file.

  3. Espandere quindi il nodo Configuration e aprire il file AssemblyInfo.cs.

  4. Utilizzare la tabella riportata di seguito per correggere gli avvisi:

Avvisi

Per correggere l'avviso

Contrassegnare gli assembly con CLSCompliantAttribute: Microsoft.Design: 'ManagedDemo' deve essere contrassegnato con CLSCompliantAttribute con valore true.

  1. Aggiungere il codice usingSystem; al file AssemblyInfo.cs.

  2. Aggiungere quindi il codice [assembly: CLSCompliant(true)] alla fine del file AssemblyInfo.cs.

  3. Ricompilare il progetto.

Avviso del compilatore (livello 1) CS3008.

  1. Modificare il nome del campo _item in ItemCount.

  2. Modificare public static int item { get { return _item; } } per restituire ItemCount.

  3. Ricompilare il progetto.

Contrassegnare i tipi ISerializable con SerializableAttribute: Microsoft.Usage: Aggiungere [Serializable] a 'demo' poiché questo tipo implementa ISerializable.

  1. Aggiungere l'attributo [Serializable ()] alla classe demo.

  2. Ricompilare il progetto.

Implementare costruttori di eccezioni standard: Microsoft.Design: Aggiungere il seguente costruttore a questa classe: public demo(String)

  • Aggiungere il costruttore public demo (String s) : base(s) { } alla classe demo.

Implementare costruttori di eccezioni standard: Microsoft.Design: Aggiungere il seguente costruttore a questa classe: public demo(String, Exception)

  • Aggiungere il costruttore public demo (String s, Exception e) : base(s, e) { } alla classe demo.

Implementare costruttori di eccezioni standard: Microsoft.Design: Aggiungere il seguente costruttore a questa classe: protected demo(SerializationInfo, StreamingContext)

  1. Aggiungere il codice using System.Runtime.Serialization; all'inizio del file Class1.cs.

  2. Aggiungere quindi il costruttore protected demo (SerializationInfo info, StreamingContext context) : base(info, context) { } to the class demo.

  3. Ricompilare il progetto.

Implementare costruttori di eccezioni standard: Microsoft.Design: Aggiungere il seguente costruttore a questa classe: public demo()

  1. Aggiungere il costruttore public demo () : base() { } alla classe demo.

  2. Ricompilare il progetto.

Gli identificatori devono contenere il suffisso corretto: Microsoft.Naming: Rinominare 'testCode.demo' in modo che termini in 'Exception'.

  • Modificare il nome della classe e i relativi costruttori in DemoException.

Gli identificatori devono essere digitati correttamente con distinzione tra maiuscole e minuscole: Microsoft.Naming: Correggere le maiuscole e minuscole nel nome dello spazio dei nomi 'testCode'

  • Modificare le maiuscole e minuscole dello spazio dei nomi testCode in TestCode.

Gli identificatori devono essere digitati correttamente con distinzione tra maiuscole e minuscole: Microsoft.Naming: Correggere le maiuscole e minuscole nel nome di membro 'item'.

  • Modificare il nome del membro in Item.

Gli assembly devono avere nomi sicuri validi: Firmare 'ManagedDemo' con una chiave con nome sicuro.

  1. Scegliere Proprietà ManagedDemo dal menu Progetto.

    Verranno visualizzate le proprietà del progetto.

  2. Fare clic su Firma.

  3. Selezionare la casella di controllo Firma assembly.

  4. Nell'elenco Scegli un file chiave con nome sicuro selezionare <Nuovo...>.

    Verrà visualizzata la finestra di dialogo Crea chiave con nome sicuro.

  5. In Nome file di chiave digitare TestKey.

  6. Immettere una password, quindi fare clic su OK.

  7. Scegliere Salva elementi selezionati dal menu File, quindi chiudere la pagina delle proprietà.

  8. Ricompilare il progetto.

Esclusione degli avvisi dell'analisi del codice

Per escludere gli avvisi degli errori del codice

  1. Selezionare gli avvisi restanti nella finestra Elenco errori, quindi fare clic con il pulsante destro del mouse e scegliere Elimina messaggi.

  2. Ricompilare il progetto.

    Il progetto verrà compilato senza alcun avviso o errore.