Obter configurações de publicação do IIS e importar para o Visual Studio
Você pode usar a ferramenta Publicar para importar as configurações de publicação e, em seguida, implantar seu aplicativo. Neste artigo, usamos as configurações de publicação do IIS.
Essas etapas se aplicam a aplicativos Web ASP.NET e ASP.NET Core.
Nota
Um arquivo de configurações de publicação (*.publishsettings) é diferente de um perfil de publicação (*.pubxml). Um arquivo de configurações de publicação é criado no IIS e, em seguida, pode ser importado para o Visual Studio. O Visual Studio cria o perfil de publicação.
Pré-requisitos
O Visual Studio instalado com a carga de trabalho ASP.NET e de desenvolvimento Web. Se você já instalou o Visual Studio:
- Instale as atualizações mais recentes no Visual Studio selecionando Ajuda>Verificar atualizações.
- Adicione a carga de trabalho selecionando Ferramentas>Obter Ferramentas e Recursos.
No servidor, você deve estar executando o Windows Server 2012 ou superior e deve ter a função servidor Web do IIS instalada corretamente (necessária para gerar o arquivo de configurações de publicação (
.publishsettings
). O ASP.NET 4.5 ou ASP.NET Core também deve ser instalado no servidor. As etapas neste tutorial foram testadas no Windows Server 2022.Para configurar o ASP.NET Core, veja Hospedar o ASP.NET Core no Windows com o IIS. Para ASP.NET Core, configure o Pool de Aplicativos para usar Código Não Gerenciado, conforme descrito no artigo.
Para configurar o ASP.NET 4.5, consulte IIS 8.0 usando ASP.NET 3.5 e ASP.NET 4.5.
Nota
O IIS no Windows não dá suporte à geração das configurações de publicação. No entanto, você ainda pode publicar no IIS usando a ferramenta Publicar no Visual Studio.
Instalar e configurar o Web Deploy no Windows Server
Web Deploy fornece recursos de configuração adicionais que permitem a criação do arquivo de configurações de publicação a partir da interface do usuário.
Nota
O Web Platform Installer não é mais fabricado desde 01/07/22. Para obter mais informações, confira Web Platform Installer – Fim do suporte e encerramento do produto/feed de aplicativo. Você pode instalar o Web Deploy 4.0 diretamente para criar o arquivo de configurações para publicação.
Se você ainda não instalou as Ferramentas e Scripts de Gerenciamento do IIS, instale-as agora.
Vá para Selecionar funções de servidor>Servidor Web (IIS)>Ferramentas de Gerenciamentoe então selecione a função Scripts e Ferramentas de Gerenciamento do IIS, clique em Avançare instale a função.
Os scripts e as ferramentas são necessários para habilitar a geração do arquivo de configurações de publicação.
Certifique-se também de instalar o Serviço de Gerenciamento e o Console de Gerenciamento do IIS (eles podem já estar instalados).
No Windows Server, baixe a Implantação da Web 4.0.
Execute o programa de instalação do Web Deploy e certifique-se de selecionar Instalação Completa em vez de uma instalação típica.
Com uma instalação completa, você obtém os componentes necessários para gerar um arquivo de configurações de publicação. (Se selecionar Personalizado, é possível ver a lista de componentes, conforme mostrado na ilustração a seguir.)
(Opcional) Verifique se a Implantação da Web está sendo executada corretamente abrindo Painel de Controle > Sistema e Segurança > Ferramentas Administrativas > Serviços, e verifique se:
Serviço do Agente de Implantação Web está em execução (o nome do serviço é diferente em versões mais antigas).
O Serviço de Gerenciamento da Web está em execução.
Se um dos serviços de agente não estiver em execução, reinicie o Serviço do Agente de Implantação da Web.
Se o Serviço do Web Deployment Agent não estiver presente, acesse Painel de Controle > Programas > Desinstalar um programa, localize Implantação da Web da Microsoft <versão>. Escolha Alterar a instalação e confirme se escolhe a opção Será instalado na unidade de disco rígido local para os componentes de Implantação da Web. Conclua as etapas de instalação da alteração.
Criar o arquivo de configurações de publicação no IIS no Windows Server
Feche e reabra o Console de Gerenciamento do IIS para mostrar as opções de configuração atualizadas na interface do usuário.
No IIS, clique com o botão direito do mouse em Site Padrão, escolha Implantar>Configurar publicação da Implantação da Web.
Se você não vir o menu Deploy, consulte a seção anterior para verificar se o Web Deploy está em execução.
Na caixa de diálogo Configurar publicação da Implantação da Web, examine as configurações.
Clique em Configuração.
No painel Resultados, a saída mostra que os direitos de acesso foram concedidos ao usuário especificado e que um arquivo com uma extensão .publishsettings foi gerado na localização mostrada na caixa 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>
Dependendo da configuração do Windows Server e do IIS, você verá valores diferentes no arquivo XML. Aqui estão alguns detalhes sobre os valores que você vê:
O arquivo msdeploy.axd referenciado no atributo
publishUrl
é um arquivo de manipulador HTTP gerado dinamicamente para Web Deploy. (Para fins de teste,http://myhostname:8172
geralmente funciona também.)A porta
publishUrl
está configurada para a porta 8172, que é o padrão para Web Deploy.A porta
destinationAppUrl
é definida como a porta 80, que é o padrão para o IIS.Se, em etapas posteriores, você não conseguir se conectar ao host remoto do Visual Studio usando o nome do host, teste o endereço IP do servidor no lugar do nome do host.
Nota
Se você estiver publicando no IIS em execução em uma VM do Azure, deverá abrir uma porta de entrada para Implantação Web e IIS no grupo de segurança de rede. Para obter informações detalhadas, consulte Abrir portas para uma máquina virtual.
Copie esse arquivo para o computador no qual você está executando o Visual Studio.
Importar as configurações de publicação no Visual Studio e implantar
No computador em que você tem o projeto ASP.NET aberto no Visual Studio, clique com o botão direito do mouse no projeto no Gerenciador de Soluções e escolha Publicar.
Se você tiver configurado anteriormente quaisquer perfis de publicação, o painel Publicar será exibido. Clique em Novo ou Criar perfil.
Selecione a opção para importar um perfil.
Na caixa de diálogo Publicar, clique em Importar perfil.
Navegue até o local do arquivo de configurações de publicação que você criou na seção anterior.
Na caixa de diálogo Importar Arquivo de Configurações de Publicação, navegue até o perfil criado na seção anterior, selecione-o e clique em Abrir.
Clique em Concluir para salvar o perfil de publicação e clique em Publicar.
O Visual Studio inicia o processo de implantação e a janela Saída mostra o progresso e os resultados.
Se você receber erros de implantação, clique em Mais Ações>Editar para editar as configurações. Modifique as configurações e clique em Validar para testar novas configurações. Se o nome do host não for encontrado, tente o endereço IP em vez do nome do host nos campos do Servidor e URL de Destino.
Depois que o aplicativo for implantado com êxito, ele deverá ser iniciado automaticamente.
Problemas comuns
Primeiro, verifique a janela Saída no Visual Studio para obter informações de status e verifique suas mensagens de erro. Além disso:
- Se você não conseguir se conectar ao host usando o nome do host, tente o endereço IP.
- Verifique se as portas necessárias estão abertas no servidor remoto.
- Para o ASP.NET Core, no IIS é necessário certificar-se de que o campo do pool de aplicativos para o DefaultAppPool está definido como Sem código gerenciado.
- Verifique se a versão de ASP.NET usada em seu aplicativo é a mesma que a versão instalada no servidor. Para seu aplicativo, você pode exibir e definir a versão na página Propriedades . Para definir o aplicativo como uma versão diferente, essa versão deve ser instalada.
- Se o aplicativo tentou abrir, mas você viu um aviso de certificado, escolha confiar no site. Se você já fechou o aviso, poderá editar o arquivo *.pubxml em seu projeto e adicionar o seguinte elemento:
<AllowUntrustedCertificate>true</AllowUntrustedCertificate>
. Essa configuração é somente para teste! - Se o aplicativo não iniciar do Visual Studio, inicie o aplicativo no IIS para testar se ele foi implantado corretamente.