Implementación de una aplicación web de ASP.NET con SQL Server Compact usando Visual Studio o Visual Web Developer: Configuración de propiedades del proyecto: 4 de 12

de Tom Dykstra

Descarga del proyecto de inicio

En esta serie de tutoriales se muestra cómo implementar (publicar) un proyecto de aplicación web de ASP.NET que incluye una base de datos de SQL Server Compact mediante Visual Studio 2012 RC o Visual Studio Express 2012 RC para la web. También puede usar Visual Studio 2010 si instala la actualización de publicación web. Para obtener una introducción a la serie, consulte el primer tutorial de la serie.

Para ver un tutorial que muestra las características de implementación introducidas después de la versión RC de Visual Studio 2012, muestra cómo implementar ediciones de SQL Server distintas de SQL Server Compact y muestra cómo implementar en Azure App Service Web Apps, consulte Implementación web de ASP.NET con Visual Studio.

Información general

Algunas opciones de implementación se configuran en las propiedades del proyecto que se almacenan en el archivo del proyecto (el archivo .csproj o .vbproj ). En la mayoría de los casos, los valores predeterminados de esta configuración son los que desea, pero puede usar la interfaz de usuario Propiedades del proyecto integrada en Visual Studio para trabajar con esta configuración si tiene que cambiarlos. En este tutorial, revisará la configuración de implementación en Propiedades del proyecto. También se crea un archivo de marcador de posición que hace que se implemente una carpeta vacía.

Configuración de las opciones de implementación en la ventana Propiedades del proyecto

La mayoría de la configuración que afecta a lo que sucede durante la implementación se incluyen en el perfil de publicación, como verá en los siguientes tutoriales. Algunas opciones de configuración que debe tener en cuenta se encuentran en las pestañas Empaquetar/Publicar de la ventana Propiedades del proyecto. Estas opciones se especifican para cada configuración de compilación; es decir, puede tener una configuración diferente para una compilación de versión de la que tiene para una compilación de depuración.

En el Explorador de soluciones, haga clic con el botón derecho en el proyecto ContosoUniversity, seleccione Propiedadesy, a continuación, seleccione la pestaña Empaquetar/Publicar web.

Package_Publish_Web_tab

Cuando se muestra la ventana, el valor predeterminado es mostrar la configuración de la configuración de compilación que esté activa actualmente para la solución. Si el cuadro Configuración no indica Activo (Versión), seleccione Liberar para mostrar la configuración de compilación de versión. Implementará compilaciones de versión en los entornos de prueba y producción.

Package_Publish_Web_tab_selecting_Release

Con Activo (versión) o Versión seleccionado, verá los valores que son efectivos al implementar mediante la configuración de compilación de versión:

  • En el cuadro Elementos que se van a implementar, solo se seleccionan los archivos necesarios para ejecutar la aplicación. Otras opciones son Todos los archivos de este proyecto o Todos los archivos de esta carpeta del proyecto. Al dejar la selección predeterminada sin cambios, evite implementar archivos de código fuente, por ejemplo. Esta configuración es la razón por la que las carpetas que contienen los archivos binarios de SQL Server Compact tenían que incluirse en el proyecto. Para obtener más información sobre esta configuración, consulte ¿Por qué no se implementan todos los archivos de la carpeta del proyecto? en Preguntas más frecuentes sobre la implementación de proyectos de aplicación web de ASP.NET.
  • Se selecciona excluir símbolos de depuración generados. No se depurará cuando use esta configuración de compilación.
  • No se ha seleccionado Excluir archivos de la carpeta App_Data. El archivo de SQL Server Compact para la base de datos de pertenencia está en esa carpeta y tiene que implementarlo. Al implementar actualizaciones que no incluyan cambios en la base de datos, activará esta casilla.
  • No se ha seleccionado Precompilar esta aplicación antes de publicar. En la mayoría de los escenarios, no es necesario precompilar proyectos de aplicación web. Para obtener más información sobre esta opción, vea Empaquetar/Publicar web, Propiedades del proyecto y Cuadro de diálogo configuración avanzada de precompilación.
  • Incluir todas las bases de datos configuradas en la pestaña Empaquetar/Publicar SQL está seleccionada, pero esta opción no tiene ningún efecto ahora porque no está configurando la pestaña Empaquetar/Publicar SQL. Esa pestaña es para un método de implementación de base de datos heredado que solía ser la única opción para implementar bases de datos de SQL Server. Usará la pestaña Empaquetar /Publicar SQL en el tutorial Migración a SQL Server.
  • La sección Configuración del paquete de implementación web no se aplica porque usa publicar con un solo clic en estos tutoriales.

Cambie el cuadro desplegable Configuración a Depurar para ver la configuración predeterminada de las compilaciones de depuración. Los valores son los mismos, excepto Excluir símbolos de depuración generados se borra para que pueda depurar al implementar una compilación de depuración.

Asegurarse de que se implementa la carpeta Elmah

Como ha visto en el tutorial anterior, el Paquete NuGet Elmah proporciona funcionalidad para el registro de errores y los informes. En la aplicación Contoso University Elmah se ha configurado para almacenar los detalles del error en una carpeta denominada Elmah:

Elmah folder

Excluir archivos o carpetas específicos de la implementación es un requisito común; otro ejemplo sería una carpeta en la que los usuarios pueden cargar archivos. No querrá que los archivos de registro ni los archivos cargados creados en el entorno de desarrollo se implementen en producción. Y si va a implementar una actualización en producción, no desea que el proceso de implementación elimine los archivos que existen en producción. (Dependiendo de cómo establezca una opción de implementación, si existe un archivo en el sitio de destino, pero no en el sitio de origen al implementar, Web Deploy lo elimina del destino).

Como ha visto anteriormente en este tutorial, la opción Elementos para implementar en la pestaña Empaquetar/Publicar web se establece en Solo archivos necesarios para ejecutar esta aplicación. Como resultado, los archivos de registro creados por Elmah en desarrollo no se implementarán, lo que es lo que desea que suceda. (Para implementarse, tendría que incluirse en el proyecto y su propiedad Acción de compilación tendría que establecerse en Contenido. Para obtener más información, vea ¿Por qué no se implementan todos los archivos de la carpeta del proyecto? en Preguntas más frecuentes sobre la implementación de proyectos de aplicación web de ASP.NET. Sin embargo, Web Deploy no creará una carpeta en el sitio de destino a menos que haya al menos un archivo para copiarlo. Por lo tanto, agregará un archivo .txt a la carpeta para que actúe como marcador de posición para que se copie la carpeta.

En el Explorador de soluciones, haga clic con el botón derecho en la carpeta Elmah, seleccione Agregar nuevo elemento y cree un archivo denominado Placeholder.txt. Coloque el texto siguiente en él: "Se trata de un archivo de marcador de posición para asegurarse de que la carpeta se implementa" y guarde el archivo. Eso es todo lo que tiene que hacer para asegurarse de que Visual Studio implementa este archivo y la carpeta en la que se encuentra, ya que la propiedad Acción de compilación de archivos.txt está establecida en Contenido de forma predeterminada.

Ya ha completado todas las tareas de configuración de implementación. En el siguiente tutorial, implementará el sitio de Contoso University en el entorno de prueba y lo probará allí.