Compartilhar via


Demonstra Passo a passo: Implantando um aplicativo Web Web ASP.NET usando o comando XCOPY

Implantar aplicativos ASP.NET é algo muito direto.Você precisa copiar os arquivos do aplicativo que você criou do seu computador desenvolvedor para o servidor Web de produção que vai hospedar seu aplicativo.Você pode usar a ferramenta de linha de comando XCOPY ou seu aplicativo FTP preferido para copiar os arquivos de um local para outro.Para obter mais informações sobre implantação geral, consulte Noções básicas sobre implantação de .NET Framework.

Observação:

Como uma alternativa para usar a ferramenta de linha de comando XCOPY, que é suportada por todas as versões do. NET Framework, você pode usar a nova ferramenta do . NET Framework 2.0 localizada em %SystemRoot%\Microsoft.NET\Framework\versão 2 ou posterior\Aspnet_compilador.exe para compilar e instalar o seu aplicativo Web.Para obter mais informações, consulte ASP.NET Compilation Tool (Aspnet_compiler.exe).

Os assemblies que você quiser compartilhar entre os aplicativos Web, tais como os assemblies que contêm controles de servidor ASP.NET, devem ser implantados na cache global de assemblies (CGA) em um servidor remoto.

Se você implantar um aplicativo que contém uma referência para um componente personalizado que está registrado na cache global de assembly no servidor local, o componente não será implantado com o aplicativo para o servidor remoto.Você vai precisar instalar o componente na cache global de assembly no servidor remoto, ou você pode copiar o componente personalizado para a pasta Bin do aplicativo Web local antes da implantação.

Para obter mais informações, consulte Global Assembly Cache.Para obter mais informações sobre assemblies, consulte Programando com Assemblies.

Algumas ferramentas de desenvolvimento, tais como Visual Web Developer, têm ferramentas que tornam mais fácil implantar seus aplicativos.

Pré-requisitos

Para concluir esta explicação passo a passo, você precisa:

  • O .NET Framework.

  • Um site Web ASP.NET existente.Se você já tiver um site configurado, você pode usar esse site como um ponto de partida para este passo a passo.Otherwise, for details on creating a virtual directory or site, see Como: Criar e configurar diretórios virtual no IIS 5.0 e 6.0.

  • Um destino que seja acessível usando um caminho de arquivo ou caminho UNC.

Observação:

Este passo a passo não assume que você esteja usando um designer, tal como Visual Web Developer ou Visual Studio.

Preparação

Use estes procedimentos se você estiver implantando um grande site Web e quiser tomar o site Web offline alvo enquanto você estiver copiando arquivos.

Para tomar um aplicativo Web offline antes da implantação

  1. Crie um arquivo chamado App_offline.htm e coloque-o na raiz de seu site Web alvo.

  2. Coloque uma mensagem amigável no arquivo App_offline.htm para informar aos clientes que você está atualizando o site.

    Enquanto o arquivo App_offline.htm existe, qualquer solicitação do site será redirecionada para o arquivo.

    Observação importante:

    Lembre-se de remover o arquivo App_offline.htm depois que você terminar de copiar os arquivos.

Quando mudanças ocorrem para alguns tipos de arquivos e pastas, o domínio do aplicativo reinicia.Você pode configurar o número de segundos que o aplicativo espera por outra notificação de mudança de arquivo antes de reiniciar o domínio do aplicativo.

Para minimizar o número de vezes que seu domínio do aplicativo reinicia

  1. Abra o arquivo Web.config em seu aplicativo.Se você não tiver um arquivo Web.config, você pode criar um usando o código a seguir.

    <?xml version="1.0"?>
    <configuration xmlns="https://schemas.microsoft.com/.NetConfiguration/v2.0">
      <system.web>
      </system.web>
    </configuration>
    

    Para obter mais informações, consulte Arquivos de configuração ASP.NET.

  2. Adicione um elemento Elemento httpRuntime (Esquema de configurações do ASP.NET) em seu arquivo Web.config e defina os atributos waitChangeNotification para qualquer número de segundos que exceda o tempo entre as atualizações de duas notificações de mudança de cópia de arquivo.Por exemplo, seu elemento httpRuntime pode parecer com o código a seguir:

    <?xml version="1.0"?>
    <configuration xmlns="https://schemas.microsoft.com/.NetConfiguration/v2.0">
      <system.web>
        <httpRuntime       waitChangeNotification="5"    />
      </system.web>
    </configuration>
    
  3. Adicione um atributo maxWaitChangeNotification em seu elemento httpRuntime e ajuste-o para o número máximo de segundos para esperar a primeira notificação de mudança de arquivo antes de reiniciar o domínio do aplicativo.Configure-o para um número que exceda o período de tempo para completar quaisquer processos de cópia de arquivo.As notificações de troca de arquivos são combinadas com base no valor de seu atributo e do atributo waitChangeNotification.Por exemplo, seu elemento httpRuntime pode parecer com o código a seguir:

    <?xml version="1.0"?>
    <configuration xmlns="https://schemas.microsoft.com/.NetConfiguration/v2.0">
      <system.web>
        <httpRuntime 
          waitChangeNotification="5"
          maxWaitChangeNotification="10"
        />
      </system.web>
    </configuration>
    

Para implantar um aplicativo Web ASP.NET usando XCPOY na linha de comando

  1. Clique em Start, e em seguida clique Run.

  2. Na caixa Abrir da caixa de diálogo Executar, digite cmd e então clique em OK.

  3. No prompt de comando, digite o seguinte comando:

    xcopy /I /S<source path> <destination path>
    

    Neste comando, <source path> é o caminho completo de seu aplicativo Web e <destination path> é o caminho completo do diretório onde o aplicativo será implantado.

    Observação:

    Você deve usar os nomes dos diretórios físicos com a ferramenta XCOPY.Você não pode usar nomes de diretórios virtuais.

    O parâmetro /S copia todos os subdiretórios e os arquivos que eles contêm.

    O parâmetro /I indica que um diretório está sendo copiado.Se a pasta de destino não existir, XCOPY cria uma.

    O comando do exemplo a seguir copia todos os arquivos do diretório c:\inetpub\wwwroot\devapp para o diretório d:\publicsites\liveapp.

    Xcopy /I /Sc:\inetpub\wwwroot\devapp d:\publicsites\liveapp
    
  4. O comando pode pausar para que você responda um pergunta, tal como "Sobrescrever nome do arquivo (Sim / Não / Todos)?" para a qual você pode digitar sua resposta.

    Você pode excluir subdiretórios, que são arquivos com uma extensão específica de nome de arquivo ou nomes específicos de arquivos sendo copiados usando a opção XCOPY /EXCLUIR.Para mais informação e parâmetros, veja Xcopy na janela Ajuda e Suporte que está disponível no menu Iniciar ou digite xcopy /? na linha de comando.

Para implantar e atualizar arquivos individuais em um aplicativo Web ASP.NET na linha de comando.

  1. Clique em Start, e em seguida clique Run.

  2. Na caixa Abrir da caixa de diálogo Executar, digite cmd e então clique em OK.

  3. No prompt de comando, digite o seguinte comando:

    xcopy <source path> <destination path>
    

    Neste comando, <source path> é o caminho completo do código-fonte que você quer copiar e <destination path> é o caminho completo do diretório onde o arquivo copiado será localizado.

    O comando do exemplo a seguir copia um único DLL de um diretório \Bin em uma unidade para um diretório \Bin em outra unidade.

    Xcopy c:\inetpub\wwwroot\devapp\bin\sampleAssembly.dll d:\publicsites\liveapp\bin
    

    O comando do exemplo a seguir copia um único DLL de um diretório Bin em uma unidade para um diretório Bin em outra unidade.

    Xcopy c:\inetpub\wwwroot\devapp\bin\*.dll d:\publicsites\liveapp\bin
    
  4. O comando pode pausar para que você responda um pergunta, tal como "Sobrescrever nome do arquivo (Sim / Não / Todos)?" para a qual você pode digitar sua resposta.

Consulte também

Tarefas

Explicação Passo a Passo: Desenvolvendo e Usando um Controle de Servidor Personalizado

Demonstra Passo a passo: Criando diretórios de raiz de aplicativo Web Web do ASP.NET no IIS 6.0

Conceitos

Layout de Site Web do ASP.NET

Serviços Web XML A publicação e implantação

Outros recursos

Criando sites da Web ASP.NET

Implantando aplicativos .NET Framework