Implantar seu aplicativo em uma pasta, no IIS, no Azure ou em outro destino
Ao implantar um aplicativo, serviço ou componente, você o distribui para instalação em outros computadores, dispositivos, servidores ou na nuvem. Você escolhe o método apropriado no Visual Studio para o tipo de implantação que deseja.
Obtenha ajuda para sua tarefa de implantação:
- Não sabe qual opção de implantação escolher? Consulte Quais opções de publicação são adequadas para mim?
- Para obter ajuda com problemas de implantação para Serviço de Aplicativo do Azure ou IIS, consulte Solucionar problemas de ASP.NET Core no Serviço de Aplicativo do Azure e no IIS.
- Para obter ajuda com a definição das configurações de implantação do .NET, consulte Definir configurações de implantação do .NET.
Para implantar em um novo destino, se você tiver criado anteriormente um perfil de publicação, selecione Novo na janela Publicar para um perfil configurado.
Em seguida, escolha uma opção de implantação na ferramenta Publicar. Para obter informações sobre suas opções de publicação, consulte as seções a seguir.
Para implantar em um novo destino, se você tiver criado anteriormente um perfil de publicação, selecione Publicar seleção no menu Compilar para um perfil configurado.
Em seguida, escolha uma opção de implantação na ferramenta Publicar. Para obter informações sobre suas opções de publicação, consulte as seções a seguir.
Quais opções de publicação são adequadas para mim?
De dentro do Visual Studio, os aplicativos podem ser publicados diretamente nos seguintes destinos:
- Azure
- Registro de Contêiner do Docker
- DevTest Labs
- Pasta
- Servidor FTP/FTPS
- Web Server (IIS)
- Importar perfil
As opções anteriores aparecem conforme mostrado na ilustração a seguir quando você cria um novo perfil de publicação.
Para obter um tour rápido de opções de implantação de aplicativos mais gerais, consulte Primeira visualização na implantação.
Azure
Ao escolher o Azure, você pode escolher entre:
- Serviço de Aplicativo do Azure em execução no Windows, Linux ou como uma imagem do Docker
- Uma imagem do Docker implantada no Registro de Contêiner do Azure
- Máquina virtual do Azure
Azure App Service
O Serviço de Aplicativo do Azure ajuda os desenvolvedores a criar rapidamente diversos serviços e aplicativos Web escalonáveis sem infraestrutura de manutenção. Um Serviço de Aplicativo é executado em máquinas virtuais hospedadas na nuvem no Azure, mas essas máquinas virtuais são gerenciadas para você. Cada aplicativo em um Serviço de Aplicativo recebe uma URL *.azurewebsites.net exclusiva. Todos os tipos de preço diferentes de Gratuito também permitem a atribuição de nomes de domínio personalizados ao site.
Você determina a capacidade de computação que um Serviço de Aplicativo tem escolhendo um plano ou tipo de preço para o Serviço de Aplicativo recipiente. É possível ter vários aplicativos Web (e outros tipos de aplicativos) compartilhando o mesmo Serviço de Aplicativo sem alterar o tipo de preço. Por exemplo, é possível hospedar o desenvolvimento, o preparo e a produção de aplicativos Web juntos no mesmo Serviço de Aplicativo.
Quando escolher o Serviço de Aplicativo do Azure
- Você deseja implantar um aplicativo Web que é acessível pela Internet.
- Você deseja escalonar automaticamente seu aplicativo Web de acordo com a demanda sem a necessidade de reimplantar.
- Você não deseja manter uma infraestrutura de servidor (incluindo atualizações de software).
- Você não precisa de nenhuma personalização de nível de computador nos servidores que hospedam seu aplicativo Web.
Se quiser usar o Serviço de Aplicativo do Azure em seu próprio datacenter ou em outros computadores locais, você poderá fazer isso usando o Azure Stack.
Para obter mais informações sobre como publicar em Serviço de Aplicativo, consulte:
- Início rápido - Publicar no Serviço de Aplicativo do Azure
- Início Rápido – Publicar ASP.NET Core no Linux.
- Publicar um aplicativo ASP.NET Core no Serviço de Aplicativo do Azure
- Solucionar problemas do ASP.NET Core no Serviço de Aplicativo do Azure e no IIS.
Registro de Contêiner do Azure
O Registro de Contêiner do Azure permite criar, armazenar e gerenciar imagens e artefatos de contêiner do Docker em um registro privado para todos os tipos de implantações de contêiner.
Quando escolher Registro de Contêiner do Azure?
- Quando você tem um pipeline de desenvolvimento e implantação de contêiner do Docker existente.
- Quando você quiser criar imagens de contêiner do Docker no Azure.
Para mais informações:
Máquina Virtual do Azure
As Máquinas Virtuais (VMs) do Azure permitem criar e gerenciar qualquer número de recursos de computação na nuvem. Ao assumir a responsabilidade por todos os softwares e atualizações nas VMs, é possível personalizá-los tanto quanto desejar conforme exigido pelo seu aplicativo. Você pode acessar as máquinas virtuais diretamente por meio da Área de Trabalho Remota e cada uma delas manterá seu endereço IP atribuído por quanto tempo for desejado.
O dimensionamento de um aplicativo hospedado em máquinas virtuais envolve a criação VMs adicionais de acordo com a demanda e, em seguida, a implantação do software necessário. Esse nível adicional de controle permite você escalonar de maneira diferente em diferentes regiões globais. Por exemplo, se seu aplicativo estiver atendendo a funcionários em uma diversos escritórios regionais, será possível escalonar suas VMs de acordo com o número de funcionários nessas regiões, potencialmente reduzindo os custos.
Para obter informações adicionais, consulte a comparação detalhada entre o Serviço de Aplicativo do Azure, as Máquinas Virtuais do Azure e outros serviços do Azure que podem ser usados como destinos de implantação, usando a opção Personalizar no Visual Studio.
Quando escolher Máquinas Virtuais de Aplicativo do Azure
- Você deseja implantar um aplicativo Web que é acessível pela Internet, com controle total sobre o tempo de vida dos endereços IP atribuídos.
- Você precisa de personalizações em nível de computador em seus servidores que incluem: software adicional, como um sistema de banco de dados especializado, configurações de rede específicas, partições de disco e assim por diante.
- Você deseja um nível de controle refinado sobre o escalonamento de seu aplicativo Web.
- Você precisa ter acesso direto aos servidores que hospedam seu aplicativo por qualquer outro motivo.
Se quiser usar as Máquinas Virtuais do Azure em seu próprio datacenter ou em outros computadores locais, você poderá fazer isso usando o Azure Stack.
Registro de contêiner do Docker
Se o aplicativo estiver usando o Docker, é possível publicar seu aplicativo em contêineres em um registro de contêiner do Docker.
Quando escolher Registro de Contêiner do Docker
- Se você quiser implantar um aplicativo conteinerizado
Para saber mais, consulte o seguinte:
Laboratórios de Desenvolvimento/Teste
Use a opção Implantação de pasta na ferramenta Publicar se quiser implantar no Azure DevTest Labs.
Para ver as etapas completas, confira Publicar aplicativo para teste em uma VM do Azure DevTest Labs. No artigo vinculado, as etapas de publicação da pasta se aplicam ao .NET Core/.NET 5+. O restante das instruções se aplica ao .NET e ao .NET Framework. Para aplicativos ClickOnce do .NET Framework, você pode usar o Assistente de Publicação para publicar em uma pasta.
Pasta
A implantação no sistema de arquivos significa copiar os arquivos do seu aplicativo para uma pasta específica em seu próprio computador. A implantação em uma pasta geralmente é usada para fins de teste ou para implantar o aplicativo para uso por um número limitado de pessoas, caso o computador também esteja executando um servidor. Se a pasta de destino for compartilhada em uma rede, a implantação no sistema de arquivos poderá disponibilizar os arquivos do aplicativo Web para outras pessoas que poderão, por sua vez, implantá-la em servidores específicos.
A partir do Visual Studio 2019 16.8, o destino da pasta inclui a capacidade de publicar um aplicativo .NET do Windows usando o ClickOnce.
Se você quiser publicar um projeto de área de trabalho do Windows do .NET (.NET Core 3.1, .NET 5 e posterior) com o ClickOnce, consulte Implantar um aplicativo .NET do Windows usando o ClickOnce.
Todas os computadores locais que estão executando um servidor podem disponibilizar seu aplicativo através da Internet ou de uma Intranet, dependendo de como estiver configurado e das redes às quais estiver conectado. (Se você conectar um computador diretamente à Internet, tenha cuidado especial para protegê-lo contra ameaças de segurança externas.) Como você gerencia esses computadores, está no controle total das configurações de software e hardware.
Se por algum motivo (como acesso ao computador), não for possível usar os serviços de nuvem como o Serviço de Aplicativo do Azure ou as Máquinas Virtuais do Azure, você poderá usar o Azure Stack em seu próprio datacenter. O Azure Stack permite gerenciar e usar recursos de computação por meio do Serviço de Aplicativo do Azure e das Máquinas Virtuais do Azure e ainda manter tudo localmente.
Quando escolher a implantação de sistema de arquivos
Você só precisa implantar o aplicativo em um compartilhamento de arquivos do qual outras pessoas vão implantá-lo em servidores diferentes.
Se quiser Implantar um aplicativo .NET do Windows usando o ClickOnce
Você precisa apenas de uma implantação de teste local.
Você deseja examinar e potencialmente modificar os arquivos do aplicativo independentemente, antes de enviá-los a outro destino de implantação.
Para saber mais, consulte Início Rápido – Implantar em uma pasta local.
Para obter mais informações sobre como implantar um aplicativo .NET do Windows usando o ClickOnce, consulte Implantar um aplicativo .NET do Windows usando o ClickOnce.
Para obter ajuda adicional para escolher suas configurações, consulte:
- Implantação independente e dependente de estrutura
- Identificadores de runtime de destino (RID portátil, et al)
- Configurações de depuração e versão
Servidor FTP/FTPS
Um servidor FTP/FTPS permite implantar seu aplicativo em um servidor diferente do Azure. Ele pode ser implantado em um sistema de arquivos ou qualquer outro servidor (Internet ou Intranet) ao qual você tem acesso, inclusive aqueles em outros serviços de nuvem. Ele pode funcionar com a Implantação da Web (arquivos ou .ZIP) e FTP.
Ao escolher um servidor FTP/FTPS, o Visual Studio solicita um nome de perfil e, em seguida, coleta informações de Conexão adicionais, incluindo o servidor de destino ou o local, um nome de site e as credenciais. É possível controlar os seguintes comportamentos na guia Configurações:
- A configuração que você deseja implantar.
- Se os arquivos existentes serão removidos do destino.
- Se a pré-compilação será feita durante a publicação.
- Se os arquivos serão excluídos da pasta App_Data da implantação.
É possível criar vários perfis de implantação FTP/FTPS no Visual Studio, possibilitando o gerenciamento dos perfis com configurações diferentes.
Quando escolher a implantação do servidor FTP/FTPS
- Você está usando serviços de nuvem em um provedor diferente do Azure que pode ser acessado por meio de URLs.
- Você deseja implantar usando credenciais diferentes das que você usa no Visual Studio ou daquelas diretamente ligadas às suas contas do Azure.
- Você deseja excluir os arquivos do destino a cada vez que implantar.
Servidor Web (IIS)
Um servidor de rede ISS permite implantar seu aplicativo em um servidor de rede diferente do Azure. Ele pode ser implantado em um servidor ISS (Internet ou Intranet) ao qual você tem acesso, inclusive aqueles em outros serviços de nuvem. Pode funcionar com a Implantação da Web ou um pacote de Implantação da Web.
Ao escolher um servidor de rede ISS, o Visual Studio solicita um nome de perfil e, em seguida, coleta informações de Conexão adicionais, incluindo o servidor de destino ou o local, um nome de site e as credenciais. É possível controlar os seguintes comportamentos na guia Configurações:
- A configuração que você deseja implantar.
- Se os arquivos existentes serão removidos do destino.
- Se a pré-compilação será feita durante a publicação.
- Se os arquivos serão excluídos da pasta App_Data da implantação.
É possível criar vários perfis de implantação de servidor de rede de ISS no Visual Studio, permitindo o gerenciamento dos perfis com configurações diferentes.
Quando escolher a implantação do servidor de rede (ISS)
- Você está usando o IIS para publicar um site ou serviço que pode ser acessado por meio de URLs.
- Você deseja implantar usando credenciais diferentes das que você usa no Visual Studio ou daquelas diretamente ligadas às suas contas do Azure.
- Você deseja excluir os arquivos do destino a cada vez que implantar.
Para saber mais, consulte Início Rápido – Implantar em um site.
Para obter ajuda com a solução de problemas ASP.NET Core no IIS, consulte Solucionar problemas de ASP.NET Core no Serviço de Aplicativo do Azure e no IIS.
Importar Perfil
É possível importar um perfil ao publicar no IIS ou Serviço de Aplicativo do Azure. É possível configurar a implantação usando um arquivo de configurações de publicação (*.publishsettings). Um arquivo de configurações de publicação é criado pelo IIS ou pelo Serviço de Aplicativo do Azure ou pode ser criado manualmente e, em seguida, pode ser importado para o Visual Studio.
O uso de um arquivo de configurações de publicação pode simplificar a configuração de implantação e funciona melhor em um ambiente de equipe em vez de configurar manualmente cada perfil de implantação.
Quando escolher o perfil de importação
- Se publicar no IIS e deseja simplificar a configuração de implantação.
- Se estiver publicando no IIS ou Serviço de Aplicativo do Azure e deseja acelerar a configuração de implantação para reutilização ou para membros da equipe que publicam no mesmo serviço.
Para saber mais, consulte o seguinte:
- Importar configurações de publicação e implantar no IIS
- Importar configurações de publicação e implantar no Azure
Definir configurações de implantação .NET
Para obter ajuda adicional para escolher suas configurações, consulte:
- Implantação independente e dependente de estrutura
- Identificadores de runtime de destino (RID portátil, et al)
- Configurações de depuração e versão
Próximas etapas
Tutoriais: