Compartilhar via


Tutorial: Publicar um aplicativo de console .NET

Este tutorial mostra como publicar um aplicativo de console para que outros usuários possam executá-lo. A publicação cria o conjunto de arquivos necessários para executar um aplicativo. Para implantar os arquivos, copie-os para o computador de destino.

Pré-requisitos

Publicar o aplicativo

  1. Inicie Visual Studio.

  2. Abra o projeto HelloWorld criado em Criar um aplicativo de console .NET.

  3. Verifique se o Visual Studio está usando a configuração de build de Release. Se necessário, altere a configuração de build na barra de ferramentas de Depurar para Liberar.

    Barra de ferramentas do Visual Studio com build de liberação selecionado.

  4. Clique com o botão direito do mouse no projeto HelloWorld (não na solução HelloWorld) e selecione Publicar no menu.

    Menu de publicação contextual do Visual Studio.

  5. Na guia Destino da página Publicar , selecione Pasta e selecione Avançar.

    Escolhe um destino de publicação em Visual Studio.

  6. Na guia Destino Específico da página Publicar , selecione Pasta e selecione Avançar.

    Escolhe o destino de publicação específico em Visual Studio.

  7. Na guia Local da página Publicar , selecione Concluir.

    Visual Studio aba Localização da página de Publicação.

  8. Na página de progresso da criação do perfil de publicação, selecione Fechar.

  9. Na guia Publicar da janela Publicar , selecione Publicar.

    Visual Studio Publish window.

  1. Inicie Visual Studio Code.

  2. Abra a pasta de projeto HelloWorld criada em Criar um aplicativo de console .NET.

  3. Escolha ExibirTerminal no menu principal.

    O terminal é aberto na pasta HelloWorld.

  4. Execute o comando a seguir:

    dotnet publish
    

    A configuração de build padrão é Release, que é apropriada para um site implantado em produção. A saída da configuração de compilação Release tem o mínimo de informações simbólicas de depuração e é totalmente otimizada.

    A saída do comando é semelhante ao exemplo a seguir:

    Restore complete (1.1s)
      HelloWorld net10.0 succeeded (7.8s) → bin\Release\net10.0\publish\
    
    Build succeeded in 10.3s
    
  1. Abra o GitHub Codespace criado em Criar um aplicativo de console .NET.

  2. Adicione a seguinte linha de código à parte superior do HelloWorld.cs:

    #:property PublishAot=false
    

    Essa diretiva de propriedade desabilita a compilação nativa antecipada (AOT) e o aplicativo usará o compilador JIT (just-in-time) padrão em runtime. A saída publicada dependerá do framework.

  3. No terminal, verifique se você está na pasta de tutoriais .

  4. Execute o comando a seguir:

    dotnet publish HelloWorld.cs
    

    O comando cria um executável independente.

    A saída do comando é semelhante ao exemplo a seguir:

    Restore complete (0.5s)
      HelloWorld net10.0 succeeded (4.0s) → artifacts\HelloWorld\
    
    Build succeeded in 5.1s
    

Inspecionar os arquivos

Por padrão, o processo de publicação cria uma implantação dependente da estrutura, que é um tipo de implantação em que o aplicativo publicado é executado em um computador que tem o .NET runtime instalado. Os usuários podem executar o aplicativo publicado clicando duas vezes no executável ou emitindo o comando em um prompt de comando.

Nas etapas a seguir, você examinará os arquivos criados pelo processo de publicação.

  1. Em Gerenciador de Soluções, selecione Show All Files.

    Opção do Gerenciador de Soluções para mostrar todos os arquivos.

  2. Na pasta do projeto, expanda bin/Release/{net}/publish. (Onde {net} é a pasta da estrutura de destino, como net10.0.)

    Gerenciador de Soluções mostrando arquivos publicados.

    Como mostra a imagem, a saída publicada inclui os seguintes arquivos:

    • HelloWorld.deps.json

      Esse é o arquivo de dependências de runtime do aplicativo. Ele define os componentes .NET e as bibliotecas (incluindo a biblioteca de links dinâmicos que contém seu aplicativo) necessárias para executar o aplicativo. Para obter mais informações, consulte arquivos de configuração do Runtime.

    • HelloWorld.dll

      Essa é a versão de implantação dependente do framework do aplicativo. Para executar essa biblioteca de links dinâmicos, insira em um prompt de comando. Esse método de execução do aplicativo funciona em qualquer plataforma que tenha o .NET runtime instalado.

    • HelloWorld.exe

      Esta é a versão executável dependente de framework do aplicativo. Para executá-lo, insira em um prompt de comando. O arquivo é específico do sistema operacional.

    • HelloWorld.pdb (opcional para implantação)

      Esse é o arquivo de símbolos de depuração. Não é necessário implantar esse arquivo junto com seu aplicativo, embora você deve salvá-lo caso precise depurar a versão publicada do aplicativo.

    • HelloWorld.runtimeconfig.json

      Esse é o arquivo de configuração de runtime do aplicativo. Ele identifica a versão de .NET em que seu aplicativo foi criado para ser executado. Você também pode adicionar opções de configuração a ela. Para obter mais informações, consulte configurações de tempo de execução da .NET.

Por padrão, o processo de publicação cria uma implantação dependente da estrutura, que é um tipo de implantação em que o aplicativo publicado é executado em um computador que tem o .NET runtime instalado. Para executar o aplicativo publicado, você pode usar o arquivo executável ou executar o comando em um prompt de comando.

Nas etapas a seguir, você examinará os arquivos criados pelo processo de publicação.

  1. Selecione o Explorer, na barra de navegação à esquerda.

  2. Expanda bin/Release/net10.0/publish.

    Explorer mostrando arquivos publicados

    Como mostra a imagem, a saída publicada inclui os seguintes arquivos:

    • HelloWorld.deps.json

      Esse é o arquivo de dependências de runtime do aplicativo. Ele define os componentes .NET e as bibliotecas (incluindo a biblioteca de links dinâmicos que contém seu aplicativo) necessárias para executar o aplicativo. Para obter mais informações, consulte arquivos de configuração do Runtime.

    • HelloWorld.dll

      Essa é a versão de implantação dependente do framework do aplicativo. Para executar essa biblioteca de links dinâmicos, insira em um prompt de comando. Esse método de execução do aplicativo funciona em qualquer plataforma que tenha o .NET runtime instalado.

    • HelloWorld.exe (helloworld no Linux ou macOS.)

      Esta é a versão executável dependente de framework do aplicativo. O arquivo é específico do sistema operacional.

    • HelloWorld.pdb (opcional para implantação)

      Esse é o arquivo de símbolos de depuração. Não é necessário implantar esse arquivo junto com seu aplicativo, embora você deve salvá-lo caso precise depurar a versão publicada do aplicativo.

    • HelloWorld.runtimeconfig.json

      Esse é o arquivo de configuração de runtime do aplicativo. Ele identifica a versão de .NET em que seu aplicativo foi criado para ser executado. Você também pode adicionar opções de configuração a ela. Para obter mais informações, consulte Configurações do tempo de execução do .NET.

Para um aplicativo de arquivo único, o processo de publicação cria um diretório de artefatos com um arquivo de assembly compilado. O aplicativo publicado pode ser executado usando o comando.

Nas etapas a seguir, você examinará os arquivos criados pelo processo de publicação.

  1. Selecione o Explorer, na barra de navegação à esquerda.

  2. Expanda artefatos/HelloWorld.

    Explorer mostrando arquivos publicados

    Como mostra a imagem, a saída publicada inclui os seguintes arquivos:

    • Helloworld

      Esta é a versão executável dependente de framework do aplicativo. O arquivo é específico do sistema operacional. Os codespaces são executados no Linux, portanto, este é um executável do Linux.

    • HelloWorld.deps.json

      Esse é o arquivo de dependências de runtime do aplicativo. Ele define os componentes .NET e as bibliotecas (incluindo a biblioteca de links dinâmicos que contém seu aplicativo) necessárias para executar o aplicativo. Para obter mais informações, consulte arquivos de configuração do Runtime.

    • HelloWorld.dll

      Essa é a versão de implantação dependente do framework do aplicativo. Para executar essa biblioteca de links dinâmicos, insira em um prompt de comando. Esse método de execução do aplicativo funciona em qualquer plataforma que tenha o .NET runtime instalado.

    • HelloWorld.pdb (opcional para implantação)

      Esse é o arquivo de símbolos de depuração. Não é necessário implantar esse arquivo junto com seu aplicativo, embora você deve salvá-lo caso precise depurar a versão publicada do aplicativo.

    • HelloWorld.runtimeconfig.json

      Esse é o arquivo de configuração de runtime do aplicativo. Ele identifica a versão de .NET em que seu aplicativo foi criado para ser executado. Você também pode adicionar opções de configuração a ela. Para obter mais informações, consulte configurações do runtime do .NET.

    Clique com o botão direito do mouse e selecione Baixar... para baixar arquivos de Codespaces para seu computador local.

Executar o aplicativo publicado

  1. Em Gerenciador de Soluções, clique com o botão direito do mouse na pasta publish e selecione Copy Full Path.

  2. Abra um prompt de comando e navegue até a pasta de publicação . Para fazer isso, insira e cole o caminho completo. Por exemplo:

    cd C:\Projects\HelloWorld\bin\Release\net10.0\publish\
    
  3. Execute o aplicativo usando o executável:

    1. Insira e pressione ENTER.

    2. Insira um nome em resposta ao prompt e pressione qualquer tecla para sair.

  4. Execute o aplicativo usando o comando:

    1. Insira e pressione ENTER.

    2. Insira um nome em resposta ao prompt e pressione qualquer tecla para sair.

  1. No Explorer, clique com o botão direito do mouse na pasta publish (Ctrl+clique no macOS) e selecione Abrir no Terminal Integrado.

    menu de Contexto Menu de contexto mostrando Abrir no Terminal

  2. Em Windows ou Linux, execute o aplicativo usando o executável.

    1. Em Windows, insira .\HelloWorld.exe e pressione Enter.

    2. No Linux, insira e pressione Enter.

    3. Insira um nome em resposta ao prompt e pressione Enter para sair.

  3. Em qualquer plataforma, execute o aplicativo usando o comando :

    1. Insira e pressione ENTER.

    2. Insira um nome em resposta ao prompt e pressione Enter para sair.

  1. No Explorer, clique com o botão direito do mouse na pasta artefatos/HelloWorld e selecione Abrir no Terminal Integrado.

  2. Execute o aplicativo usando o executável. Introduza e, em seguida, pressione Enter.

  3. Insira um nome em resposta ao prompt e pressione Enter para sair.

Recursos adicionais

Recursos de limpeza

GitHub exclui automaticamente o Codespace após 30 dias de inatividade. Se você planeja explorar mais tutoriais nesta série, pode deixar o seu Codespace provisionado. Se você estiver pronto para visitar o site .NET para baixar o SDK do .NET, poderá excluir seu Codespace. Para excluir seu Codespace, abra uma janela do navegador e navegue até seus Codespaces. Você verá uma lista de seus codespaces na janela. Selecione os três pontos () na entrada do espaço de código do tutorial Learn. Em seguida, selecione "Excluir".

Próximas etapas

Neste tutorial, você publicou um aplicativo de console. No próximo tutorial, você criará uma biblioteca de classes.