Condividi tramite


Modifica dell'applicazione e nuovo tentativo di pubblicazione

In questa lezione verrà illustrato come correggere un bug in un'applicazione LightSwitch e ripubblicare successivamente tale applicazione.

Debug di un'applicazione

Nella lezione precedente, Esecuzione dell'applicazioneè stato illustrato come installare e testare l'applicazione.In tale lezione è stato inoltre identificato un bug nel pulsante Trova della schermata ContactList.Se non esiste alcun record nell'entità Contatti, quando si fa clic sul pulsante si verifica un errore o un'eccezione.In questa lezione viene illustrato come eseguire il debug dell'applicazione per trovare l'errore e come correggerlo aggiungendo codice nel metodo Button_Execute() per rilevare l'eccezione e visualizzare un messaggio in cui viene descritto il problema.

Per correggere l'errore

  1. In Esplora soluzioni, selezionare il nodo ContactList in Schermate.

  2. Scegliere Visualizza codice schermata dal menu Progetto.

    Viene visualizzato l'Editor di codice contenente il metodo Find_Execute().

  3. Selezionare la riga di codice contenente Application.ShowSearchCustomer(Contacts.SelectedItem.ContactName) e nel menu Debug fare clic su Imposta/Rimuovi punto di interruzione.

    Impostazione di un punto di interruzione

    La riga di codice viene evidenziata e nel margine sinistro viene visualizzato un glifo del punto di interruzione rosso.

  4. Premere F5 per eseguire l'applicazione, quindi fare clic sulla voce Contatti del Menu di navigazione per aprire la schermata Contatti.

  5. Fare clic sul pulsante Trova sulla barra degli strumenti.

    Viene visualizzato l'Editor di codice e viene evidenziato il punto di interruzione.

  6. Scegliere Esegui istruzione dal menu Debug.

    [!NOTA]

    Potrebbe essere visualizzata una finestra di dialogo con un messaggio riguardante il passaggio automatico-over.Fare clic su No per continuare.

    Viene visualizzato un messaggio NullReferenceException non è stata gestita dal codice utente.

  7. Scegliere Termina debug dal menu Debug.

  8. Sostituire il codice esistente nel metodo Find_Execute() con il codice riportato di seguito.

    Try
        Application.ShowSearchCustomer(Contacts.SelectedItem.ContactName)
    Catch ex As Exception 
        ShowMessageBox("Please select a contact to find")
    End Try
    
    try
    {
        Application.ShowSearchCustomer(Contacts.SelectedItem.ContactName);
    }
    catch (Exception ex)
    {
        this.ShowMessageBox("No contacts exist to be found");
    }
    

    Questo codice consente di visualizzare un messaggio se si verifica un'eccezione.

  9. Selezionare la riga di codice contenente Application.ShowSearchCustomer(Contacts.SelectedItem.ContactName) e nel menu Debug fare clic su Imposta/Rimuovi punto di interruzione.

  10. Premere F5 per eseguire nuovamente l'applicazione, quindi fare clic sulla voce Contatti del menu di navigazione per aprire la schermata Contatti.

  11. Fare clic sul pulsante Trova sulla barra degli strumenti.

    Viene visualizzato l'Editor di codice e viene evidenziato il punto di interruzione.

  12. Scegliere Esegui istruzione dal menu Debug.

    Notare che il messaggio di eccezione non viene visualizzato e l'evidenziazione si sposta sulla riga di codice successiva.

  13. Scegliere di nuovo Esegui istruzione dal menu Debug.

    Notare che l'evidenziazione si sposta nella riga di codice del blocco Catch.

  14. Scegliere Esegui istruzione dal menu Debug per la terza volta.

    Nella finestra dell'applicazione verrà visualizzato il messaggio Prego, selezionare un contatto da trovare.

  15. Scegliere OK per chiudere la finestra del messaggio.

    Viene visualizzato l'Editor di codice e viene evidenziato il codice End Try (parentesi graffa di chiusura in C#).

  16. Premere F5 per riprendere l'esecuzione dell'applicazione, quindi fare clic sul pulsante Chiudi.

Per ripubblicare e testare l'applicazione

  1. In Esplora soluzioni fare doppio clic sul nodo Proprietà.

  2. Nella scheda Generale di Progettazione applicazioni scegliere il campo Versione applicazione e nella seconda casella di testo digitare 1001.

  3. Scegliere Gestione configurazione dal menu Compila.

    Verrà visualizzata la finestra di dialogo Gestione configurazione.

  4. Nell'elenco Configurazione soluzione attiva, scegliere Rilascia, quindi fare clic su Chiudi.

  5. Dal menu Compilazione, scegliere Pubblicare la prima applicazione personale.

    Verrà visualizzata la Pubblicazione guidata applicazioneLightSwitch.

  6. Nel riquadro a sinistra, scegliere Configurazione database.

    Viene visualizzata la Configurazione database della pagina.

  7. Deseleziona la casella di controllo Genera lo script del database SQL .

  8. Nel riquadro a sinistra, scegliere Autenticazione.

    La pagina Gestione applicazioni viene visualizzata.

  9. Nella pagina Specificare la configurazione di autenticazione, nella sezione Distribuire le informazioni sull'autenticazione con l'applicazione, selezionare No, le informazioni di autenticazione sono già state distribuite.

    [!NOTA]

    Distribuire le informazioni di autenticazione solo la prima volta un'applicazione viene pubblicata.Se si tenta di distribuire nuovamente le stesse informazioni di autenticazione, la pubblicazione non riuscirà e verrà visualizzato il messaggio Nome utente già in uso.

  10. Scegliere Pubblica per ripubblicare l'applicazione.

    Attendere fino a quando sulla barra di stato non viene visualizzato il messaggio Pubblicazione completata.

  11. Nel menu Start fare clic su Applicazione Northwind per aprire l'applicazione.

    Viene visualizzato un messaggio e l'applicazione viene aggiornata automaticamente alla nuova versione.Al termine dell'installazione, verrà visualizzata l'applicazione Northwind.

  12. Fare clic sulla voce Contatti del Menu di navigazione per aprire la schermata Contatti.

  13. Fare clic sul pulsante Trova sulla barra degli strumenti e verificare che venga visualizzato il messaggio Selezionare un contatto da cercare aggiunto in precedenza.

  14. Fare clic sul pulsante Chiudi per chiudere l'applicazione.

Informazioni dettagliate

In questa lezione è stato illustrato come eseguire il debug, aggiornare e ripubblicare un'applicazione.Il primo passaggio è stato quello di impostare un punto di interruzione nel metodo Find_Execute().Durante l'esecuzione l'applicazione è stata arrestata appena prima la riga di codice in corrispondenza del punto di interruzione in modo da poter eseguire un'istruzione alla volta il codice ed eseguire solo tale riga.

A partire da quel punto, il codice ha interrotto l'esecuzione e ha visualizzato un messaggio Eccezione di riferimento null.Si verifica un Null Reference Exception quando il codice fa riferimento a un oggetto inesistente; in questo caso, l'oggetto è ContactName per SelectedItem.

In questa lezione è stato illustrato come correggere il codice aggiungendo un blocco Try…Catch.In un blocco Try…Catch, il codice nel blocco Try viene eseguito per primo.Se si verifica un'eccezione, viene eseguito il codice nel blocco Catch; in questo caso, consente all'utente di visualizzare una finestra di messaggio.

Una volta illustrato come correggere il bug, nella lezione è stato mostrato come eseguire nuovamente un'istruzione alla volta il codice per verificare che l'eccezione è stata gestita e che il codice nel blocco Catch è stato eseguito e ha consentito la visualizzazione della finestra di messaggio.È consigliabile aggiungere un blocco Try…Catch al codice ovunque si può verificare un'eccezione.

Infine, nella lezione viene illustrato come aggiornare il numero della Versione dell'applicazione e ripubblicare l'applicazione.Notare che quando è stata installata l'applicazione, non è stata richiesta l'autorizzazione per eseguire l'installazione.L'autorizzazione è stata concessa alla prima installazione dell'applicazione e non è necessaria per gli aggiornamenti.

Passaggi successivi

Nella prossima lezione verrà illustrato come utilizzare le funzionalità di amministrazione nell'applicazione.

Lezione successiva: Agire da amministratore dell'applicazione

Vedere anche

Concetti

Procedura: distribuire un'applicazione a 2 livelli

Altre risorse

Distribuzione dell'applicazione

Debug: individuazione e correzione degli errori

Distribuzione: distribuzione e gestione dell'applicazione