Cambiar la aplicación y publicar otra vez

En esta lección, aprenderá cómo corregir un error en una aplicación LightSwitch y después publicarla de nuevo.

Depurar una aplicación

En la lección anterior, Ejecutar la aplicación, se mostró cómo instalar y probar la aplicación.En dicha lección también se identificó un error en el botón Buscar en la pantalla ContactList.Si no hay ningún registro en la entidad Contactos, se produce un error o una excepción cuando se hace clic en el botón.La lección muestra cómo depurar la aplicación para encontrar el error y corregirlo agregando el código en el método Button_Execute() para detectar la excepción y mostrar un mensaje que describa el problema.

Para corregir el error

  1. En el Explorador de soluciones, seleccione el nodo ContactList bajo Pantallas.

  2. En el menú Proyecto, haga clic en Ver código de pantalla.

    El Editor de código aparece y muestra el método Find_Execute().

  3. Seleccione la línea de código que contiene Application.ShowSearchCustomer(Contacts.SelectedItem.ContactName) y luego en el menú Depurar haga clic en Alternar puntos de interrupción.

    Establecer un punto de interrupción

    Se resalta la línea de código y un glifo de punto de interrupción rojo aparece en el margen izquierdo.

  4. Presione F5 para ejecutar la aplicación y, a continuación, haga clic en el menú Contactos en el menú Navegación para abrir la pantalla Contactos.

  5. Haga clic en el botón Buscar en la barra de herramientas.

    El Editor de código aparece y se resalta el punto de interrupción.

  6. En el menú Depurar, haga clic en Paso a paso.

    [!NOTA]

    Puede aparecer un cuadro de diálogo con un mensaje relativo a los saltos automáticos.Haga clic en No para continuar.

    Aparece un mensaje NullReferenceException was unhandled by user code.

  7. En el menú Depurar, haga clic en Detener depuración.

  8. Reemplace el código existente en el método Find_Execute() por el siguiente código.

    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");
    }
    

    El código muestra un mensaje si se produce una excepción.

  9. Seleccione la línea de código que contiene Application.ShowSearchCustomer(Contacts.SelectedItem.ContactName) y en el menú Depuración haga clic en Alternar puntos de interrupción.

  10. Presione F5 para ejecutar la aplicación de nuevo y, a continuación, haga clic en el menú Contactos en el menú Navegación para abrir la pantalla Contactos.

  11. Haga clic en el botón Buscar en la barra de herramientas.

    El Editor de código aparece y se resalta el punto de interrupción.

  12. En el menú Depurar, haga clic en Paso a paso.

    Observe que no se muestra el mensaje de excepción, y el resaltado pasa a la siguiente línea de código.

  13. En el menú Depurar, haga clic en Paso a paso de nuevo.

    Observe que el resaltado se mueve a la línea de código en el bloque Catch.

  14. En el menú Depurar, haga clic en Paso a paso por tercera vez.

    Aparece la ventana de la aplicación y se muestra el mensaje Por favor, seleccione un contacto para buscar.

  15. Haga clic en Aceptar para descartar el cuadro de mensaje.

    Aparece el Editor de código y se resalta el código End Try (llave de cierre en C#).

  16. Presione F5 para reanudar la ejecución de la aplicación y, a continuación, haga clic en el botón Cerrar.

Para volver a publicar y probar la aplicación

  1. En el Explorador de soluciones, haga doble clic en el nodo Propiedades.

  2. En la pestaña General del Diseñador de aplicaciones, seleccione el campo Versión de la aplicación y en el segundo cuadro de texto escriba 1001.

  3. En el menú Compilar, haga clic en Administrador de configuración.

    Aparece el cuadro de diálogo Administrador de configuración.

  4. En la lista Configuración de soluciones activas, elija Liberar y después haga clic en Cerrar.

  5. En el menú de Compilación , elija Publicar mi primera aplicación.

    Aparece el LightSwitch Asistente para publicación de aplicaciones.

  6. En el panel izquierdo, elija Configuración de base de datos.

    Aparece la página Configuración de Base de Datos.

  7. Desactive la casilla Generar el script de base de datos SQL.

  8. En el panel izquierdo, elija Autenticación.

    Aparece la página Administrador de aplicación.

  9. En la página de Especificar configuración de autenticación, en la sección ¿La información de Autenticación se debe implementar con la aplicación?, seleccione No, la información de auntenticación ya se ha implementado.

    [!NOTA]

    Implemente la información de autenticación solamente la primera vez después de publicar una aplicación.Si intenta implementar la misma información de autenticación de nuevo, la publicación dará error y se mostrará el mensaje El nombre de usuario ya está en uso.

  10. Haga clic en Publicar para volver a publicar la aplicación.

    Espere hasta que se muestre el mensaje Implementación correcta en la barra de estado.

  11. En el menú Inicio, haga clic en Northwind Application para abrir la aplicación.

    Aparece un mensaje y la aplicación se actualiza automáticamente a la nueva versión.Cuando la instalación ha finalizado, aparecerá Northwind Application.

  12. Haga clic en el menú Contactos en el menú Navegación para abrir la pantalla Contactos.

  13. Haga clic en el botón Buscar de la barra de herramientas y compruebe que se muestra el mensaje Seleccione un contacto para buscar que agregó anteriormente.

  14. Haga clic en el botón Cerrar para cerrar la aplicación.

Información detallada

La lección muestra cómo depurar, actualizar y volver a publicar una aplicación.El primer paso fue establecer un punto de interrupción en el método Find_Execute().Cuando la aplicación se ejecutó, se detuvo justo antes de la línea de código en el punto de interrupción para que pudiera recorrer el código y ejecutar solo esa línea.

En ese punto, el código dejó de ejecutarse y mostró un mensaje Null Reference Exception.Null Reference Exception se produce cuando el código hace referencia a un objeto que no existe; en este caso, el objeto es ContactName para SelectedItem.

La lección mostró seguidamente cómo corregir el código agregando un bloque Try…Catch.En un bloque Try…Catch, el código del bloque Try se ejecuta primero.Si una excepción se produce, el código del bloque Catch se ejecuta, en este caso, muestra un cuadro de mensaje al usuario.

Después de que la lección mostrara cómo corregir el error, se indicó cómo examinar de nuevo el código para comprobar que se controló la excepción, que se ejecutó el código en el bloque Catch y se mostró el cuadro de mensaje.Es una buena idea agregar un bloque Try…Catch en cualquier parte del código donde se pueda producir una excepción.

Finalmente, la lección muestra cómo actualizar el número de Versión de la aplicación y cómo volver a publicar la aplicación posteriormente.Observe que cuando instaló la aplicación, no se solicitó el permiso para instalar.El permiso se concedió la primera vez que instaló la aplicación y no se requiere para las actualizaciones.

Pasos siguientes

En la siguiente lección, verá cómo usar las características de administración en la aplicación.

Próxima lección: Actuar como administrador de la aplicación

Vea también

Conceptos

Cómo: Implementar una aplicación de 2 niveles

Otros recursos

Distribuir la aplicación

Depurar: Buscar y corregir errores

Implementación: Distribuir y mantener la aplicación