Implementación web de ASP.NET mediante Visual Studio: propiedades del proyecto

por Tom Dykstra

Descargar el proyecto de inicio

En esta serie de tutoriales, se muestra cómo implementar (publicar) una aplicación web de ASP.NET en Azure App Service Web Apps o en un proveedor de hospedaje de terceros, mediante Visual Studio 2012 o Visual Studio 2010. Para obtener información sobre la serie de tutoriales, consulte el primer tutorial de la serie.

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 de 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 Propiedades y, 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.

Selecting Release build configuration

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.
  • La opción Incluir todas las bases de datos configuradas en la pestaña Empaquetar/Publicar SQL está seleccionada. Especifica si Visual Studio implementará bases de datos y archivos. Aunque la etiqueta de casilla solo menciona la pestaña Empaquetar/publicar SQL, al desactivar esta casilla también se deshabilitaría la implementación de la base de datos configurada en el perfil de publicación. Lo hará más tarde, por lo que la casilla debe permanecer seleccionada. La pestaña Empaquetar/publicar SQL se usa para un método de publicación de base de datos heredado que no usará en estos tutoriales.
  • 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.

Asegúrese 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 de texto 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.

Resumen

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