Obtención de la configuración de publicación desde IIS e importación en Visual Studio
Puede usar la herramienta Publicar para importar la configuración de publicación y, a continuación, implementar la aplicación. En este artículo, usamos la configuración de publicación para IIS.
Estos pasos se aplican a las aplicaciones web ASP.NET y ASP.NET Core.
Nota
Un archivo de configuración de publicación (*.publishsettings) es diferente de un perfil de publicación (*.pubxml). Se crea un archivo de configuración de publicación en IIS y, a continuación, se puede importar en Visual Studio. Visual Studio crea el perfil de publicación.
Prerrequisitos
Visual Studio instalado con la carga de trabajo ASP.NET y desarrollo web. Si ya ha instalado Visual Studio:
- Instale las actualizaciones más recientes en Visual Studio seleccionando Ayuda>Buscar actualizaciones.
- Agregue la carga de trabajo seleccionando Herramientas>Obtener herramientas y características.
En el servidor, debe ejecutar Windows Server 2012 o superior y debe tener el rol de servidor web de IIS correctamente instalado (necesario para generar el archivo de configuración de publicación (
.publishsettings
). Los ASP.NET 4.5 o ASP.NET Core también deben estar instalados en el servidor. Los pasos de este tutorial se probaron en Windows Server 2022.Para configurar ASP.NET Core, consulte Host ASP.NET Core en Windows con IIS. Para ASP.NET Core, asegúrese de configurar el grupo de aplicaciones para que use sin código administrado, como se describe en el artículo.
Para configurar ASP.NET 4.5, consulte IIS 8.0 Usando ASP.NET 3.5 y ASP.NET 4.5.
Nota
IIS en Windows no admite la generación de la configuración de publicación. Sin embargo, todavía puede publicar en IIS mediante la herramienta Publicar en Visual Studio.
Instalación y configuración de Web Deploy en Windows Server
Web Deploy proporciona características de configuración adicionales que permiten la creación del archivo de configuración de publicación desde la interfaz de usuario.
Nota
El Instalador de plataforma web alcanzó el final del ciclo de vida el 1/7/22. Para más información, vea Instalador de plataforma web: fin del soporte técnico y puesta en ejecución de la fuente de productos o aplicaciones. Puede instalar directamente Web Deploy 4.0 para crear el archivo de configuración de publicación.
Si aún no ha instalado Herramientas y scripts de administración de IIS, hágalo ahora.
Vaya a Seleccionar roles de servidor>Servidor web (IIS)>Herramientas de administración y después seleccione el rol Herramientas y scripts de administración de ISS, haga clic en Siguiente y después instale el rol.
Los scripts y las herramientas son necesarios para habilitar la generación del archivo de configuración de publicación.
Asegúrese de instalar también el Servicio de Administración y la Consola de Administración de IIS (es posible que ya estén instaladas).
En Windows Server, descargue Web Deploy 4.0.
Ejecute el programa de instalación de Web Deploy y asegúrese de seleccionar el tipo de instalación Completa en lugar de una instalación típica.
Con una instalación completa, obtendrá los componentes que necesita para generar un archivo de configuración de publicación. (Si elige Custom en su lugar, puede ver la lista de componentes, como se muestra en la ilustración siguiente).
captura de pantalla de
(Opcional) Compruebe que Web Deploy se está ejecutando correctamente abriendo Panel de control > Sistema y seguridad > Herramientas administrativas > Servicesy, a continuación, asegúrese de que:
Servicio de implementación de agente web se está ejecutando (el nombre del servicio es diferente en versiones anteriores).
Servicio de administración web se está ejecutando.
Si uno de los servicios del agente no se está ejecutando, reinicie el servicio Agente de implementación web.
Si el servicio Agente de implementación web no está presente en absoluto, vaya a Panel de Control > Programas > Desinstalar un programa y busque Microsoft Web Deploy <versión>. Elija Cambiar la instalación y asegúrese de que elige Will be installed to the local hard drive (Se instalará en la unidad de disco duro local) para los componentes de Web Deploy. Complete los pasos de instalación de cambios.
Crear el archivo de configuración de publicación en IIS en Windows Server
Cierre y vuelva a abrir la consola de administración de IIS para mostrar las opciones de configuración actualizadas en la interfaz de usuario.
En IIS, haga clic en el Sitio web predeterminado, elija Implementar>Configurar publicación de implementación en Web Deploy.
Si no ve el menú Implementar, consulte la sección anterior para comprobar que Web Deploy se está ejecutando.
En el cuadro de diálogo Configurar implementación de publicación en Web Deploy, examine la configuración.
Haga clic en Configuración.
En el panel Resultados, la salida muestra que los derechos de acceso se conceden al usuario especificado y que se ha generado un archivo con la extensión .publishsettings en la ubicación que se muestra en el cuadro de diálogo.
<?xml version="1.0" encoding="utf-8"?> <publishData> <publishProfile publishUrl="https://myhostname:8172/msdeploy.axd" msdeploySite="Default Web Site" destinationAppUrl="http://myhostname:80/" profileName="Default Settings" publishMethod="MSDeploy" userName="myhostname\myusername" /> </publishData>
En función de la configuración de Windows Server e IIS, verá valores diferentes en el archivo XML. Estos son algunos detalles sobre los valores que ve:
El archivo msdeploy.axd al que se hace referencia en el atributo
publishUrl
es un archivo de controlador HTTP generado dinámicamente para Web Deploy. (Para fines de prueba,http://myhostname:8172
generalmente también funciona.)El puerto
publishUrl
se establece en el puerto 8172, que es el valor predeterminado de Web Deploy.El puerto
destinationAppUrl
se establece en el puerto 80, que es el valor predeterminado para IIS.Si, en pasos posteriores, no puede conectarse al host remoto desde Visual Studio mediante el nombre de host, pruebe la dirección IP del servidor en lugar del nombre de host.
Nota
Si va a publicar en IIS que se ejecuta en una máquina virtual de Azure, debe abrir un puerto de entrada para Web Deploy e IIS en el grupo Seguridad de red. Para obtener información detallada, consulte Abrir puertos en una máquina virtual.
Copie este archivo en el equipo donde se ejecuta Visual Studio.
Importación de la configuración de publicación en Visual Studio e implementación
En el equipo donde tiene abierto el proyecto de ASP.NET en Visual Studio, haga clic con el botón derecho en el proyecto en el Explorador de soluciones y elija Publicar.
Si ha configurado previamente algún perfil de publicación, aparece el panel Publicar. Haga clic en Nuevo o en Crear nuevo perfil.
Seleccione la opción para importar un perfil.
En el cuadro de diálogo Importar, haga clic en Importar perfil.
Vaya a la ubicación del archivo de configuración de publicación que creó en la sección anterior.
En el cuadro de diálogo Importar archivo de configuración de publicación, vaya al perfil que creó en la sección anterior, selecciónelo y haga clic en Abrir.
Haga clic en Finalizar para guardar el perfil de publicación y, a continuación, haga clic en Publicar.
Visual Studio inicia el proceso de implementación y la ventana Salida muestra el progreso y los resultados.
Si recibe algún error de implementación, haga clic en Más acciones>Editar para editar la configuración. Modifique la configuración y haga clic en Validar para probar la nueva configuración. Si no se encuentra el nombre de host, pruebe la dirección IP en lugar del nombre de host en los campos Servidor y Dirección URL de destino.
Una vez que la aplicación se implemente correctamente, debería iniciarse automáticamente.
Problemas comunes
En primer lugar, compruebe la ventana Salida de Visual Studio para obtener información de estado y compruebe los mensajes de error. Además:
- Si no puede conectarse al host mediante el nombre de host, pruebe la dirección IP en su lugar.
- Asegúrese de que los puertos necesarios están abiertos en el servidor remoto.
- Con ASP.NET Core, en IIS deberá asegurarse de que el campo Grupo de aplicaciones para el DefaultAppPool está establecido en Sin código administrado.
- Compruebe que la versión de ASP.NET usada en la aplicación es la misma que la versión que instaló en el servidor. Para tu aplicación, puedes ver y establecer la versión en la página de propiedades . Para establecer la aplicación en otra versión, debe instalarse esa versión.
- Si la aplicación intentó abrirse, pero aparece una advertencia de certificado, elija confiar en el sitio. Si ya cerró la advertencia, puede editar el archivo *.pubxml en el proyecto y agregar el siguiente elemento:
<AllowUntrustedCertificate>true</AllowUntrustedCertificate>
. Esta configuración es solo para pruebas. - Si la aplicación no se inicia desde Visual Studio, inicie la aplicación en IIS para probar que se implementó correctamente.