Partilhar via


Tutorial: Publicar uma aplicação de consola .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 a máquina de destino.

Pré-requisitos

Publicar o aplicativo

  1. Inicia o Visual Studio.

  2. Abra o projeto HelloWorld que criou em Criar uma aplicação de consola .NET.

  3. Certifica-te de que o Visual Studio está a usar a configuração de compilação Release. Se necessário, altere a configuração de compilação na barra de ferramentas de Debug para Release.

    Barra de ferramentas do Visual Studio com compilação de distribuição selecionada.

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

    Visual Studio menu de contexto Publicar.

  5. No separador Destino da página Publicar , selecione Pasta e, em seguida, selecione Seguinte.

    Escolha um alvo de publicação em Visual Studio.

  6. No separador Destino Específico da página Publicar , selecione Pasta e, em seguida, selecione Seguinte.

    Escolha o alvo específico de publicação em Visual Studio.

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

    Visual Studio Página de publicação Separador de localização

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

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

    Visual Studio Publicar janela.

  1. Abra o Visual Studio Code.

  2. Abra a pasta do projeto HelloWorld que criou em Criar uma aplicação de consola .NET.

  3. Escolha Ver>Terminal no menu principal.

    O terminal abre na pasta HelloWorld.

  4. Execute o seguinte comando:

    dotnet publish
    

    A configuração de compilação padrão é Release, que é apropriada para um site implantado em execução em produção. A saída da configuração de compilação Release tem informações mínimas de depuração simbólica 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 seu GitHub Codespace que criou em Crie uma aplicação de consola .NET.

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

    #:property PublishAot=false
    

    Esta diretiva de propriedade desativa a compilação nativa antecipada (AOT) e a aplicação utilizará o compilador padrão just-in-time (JIT) em tempo de execução. O resultado publicado dependerá do framework.

  3. No terminal, certifica-te de que estás na pasta de tutoriais .

  4. Execute o seguinte comando:

    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 defeito, o processo de publicação cria uma implementação dependente do framework, que é um tipo de implementação em que a aplicação publicada corre numa máquina que tem o runtime .NET instalado. Os utilizadores podem executar a aplicação publicada clicando duas vezes no executável ou emitindo o comando a partir de uma linha de comando.

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

  1. Em Solution Explorer, selecione Mostrar Todos os Ficheiros.

    Solution Explorer opção para Mostrar Todos os Ficheiros.

  2. Na pasta do projeto, expanda bin/Release/{net}/publish. (Onde {net} é a pasta alvo do framework, como net10.0.)

    Solution Explorer a mostrar ficheiros publicados.

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

    • HelloWorld.deps.json

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

    • HelloWorld.dll

      Esta é a versão de implantação dependente do framework da aplicação. Para executar essa biblioteca de vínculo dinâmico, digite dotnet HelloWorld.dll em um prompt de comando. Este método de execução da aplicação funciona em qualquer plataforma que tenha o runtime .NET instalado.

    • HelloWorld.exe

      Esta é a versão executável dependente da estrutura da aplicação. Para executá-lo, digite HelloWorld.exe em um prompt de comando. O arquivo é específico do sistema operacional.

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

      Este é o arquivo de símbolos de depuração. Você não é obrigado a implantar esse arquivo junto com seu aplicativo, embora deva salvá-lo no caso de precisar depurar a versão publicada do seu aplicativo.

    • HelloWorld.runtimeconfig.json

      Este é o arquivo de configuração de tempo de execução do aplicativo. Identifica a versão do .NET para a qual a sua aplicação foi construída para correr. Você também pode adicionar opções de configuração a ele. Para obter mais informações, consulte definições de configuração do runtime de .NET.

Por defeito, o processo de publicação cria uma implementação dependente do framework, que é um tipo de implementação em que a aplicação publicada corre numa máquina que tem o runtime .NET instalado. Para executar o aplicativo publicado, você pode usar o arquivo executável ou executar o comando dotnet HelloWorld.dll a partir de 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. Expandir bin/Release/net10.0/publish.

    Explorer mostrando arquivos publicados

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

    • HelloWorld.deps.json

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

    • HelloWorld.dll

      Esta é a versão de implantação dependente do framework da aplicação. Para executar essa biblioteca de vínculo dinâmico, digite dotnet HelloWorld.dll em um prompt de comando. Este método de execução da aplicação funciona em qualquer plataforma que tenha o runtime .NET instalado.

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

      Esta é a versão executável dependente da estrutura da aplicação. O arquivo é específico do sistema operacional.

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

      Este é o arquivo de símbolos de depuração. Você não é obrigado a implantar esse arquivo junto com seu aplicativo, embora deva salvá-lo no caso de precisar depurar a versão publicada do seu aplicativo.

    • HelloWorld.runtimeconfig.json

      Este é o arquivo de configuração de tempo de execução do aplicativo. Identifica a versão do .NET para a qual a sua aplicação foi construída para correr. Você também pode adicionar opções de configuração a ele. Para mais informações, consulte configurações do ambiente de execução .NET.

Para uma aplicação de ficheiro único, o processo de publicação cria um diretório de artefactos com um ficheiro assembly compilado. A aplicação publicada pode ser executada usando o dotnet 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. Expandir artefactos/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 da estrutura da aplicação. O arquivo é específico do sistema operacional. O Codespaces corre no Linux, por isso isto é um executável Linux.

    • HelloWorld.deps.json

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

    • HelloWorld.dll

      Esta é a versão de implantação dependente do framework da aplicação. Para executar essa biblioteca de vínculo dinâmico, digite dotnet HelloWorld.dll em um prompt de comando. Este método de execução da aplicação funciona em qualquer plataforma que tenha o runtime .NET instalado.

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

      Este é o arquivo de símbolos de depuração. Você não é obrigado a implantar esse arquivo junto com seu aplicativo, embora deva salvá-lo no caso de precisar depurar a versão publicada do seu aplicativo.

    • HelloWorld.runtimeconfig.json

      Este é o arquivo de configuração de tempo de execução do aplicativo. Identifica a versão do .NET para a qual a sua aplicação foi construída para correr. Você também pode adicionar opções de configuração a ele. Para mais informações, verifique configurações de runtime .NET.

    Clique com o botão direito e selecione Descarregar... para descarregar ficheiros dos Codespaces para o seu computador local.

Executar o aplicativo publicado

  1. Em Solution Explorer, clique com o botão direito na pasta publicar e selecione Copiar Caminho Completo.

  2. Abra um prompt de comando e navegue até a pasta de publicação . Para fazer isso, digite cd 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. Digite HelloWorld.exe e pressione Enter.

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

  4. Execute o aplicativo usando o dotnet comando:

    1. Digite dotnet HelloWorld.dll e pressione Enter.

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

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

    Menu de contexto mostrando Abrir no Terminal

  2. No Windows ou Linux, execute a aplicação usando o executável.

    1. No Windows, introduza .\HelloWorld.exe e pressione Enter.

    2. No Linux, digite ./HelloWorld e pressione Enter.

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

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

    1. Digite dotnet HelloWorld.dll e pressione Enter.

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

  1. No Explorador, clique com o botão direito na pasta artefacts/HelloWorld e selecione Abrir no Terminal Integrado.

  2. Executa a aplicação usando o executável. Enter ./HelloWorld e depois prima Enter.

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

Recursos adicionais

Recursos de limpeza

O GitHub apaga automaticamente o teu Codespace após 30 dias de inatividade. Se planeia explorar mais tutoriais nesta série, pode deixar o seu Codespace provisionado. Se estiveres pronto para visitar o site .NET para descarregar o SDK .NET, podes apagar o teu Codespace. Para eliminar o seu Codespace, abra uma janela do navegador e navegue até aos seus Codespaces. Vês uma lista dos teus codespaces na janela. Selecione os três pontos (...) na entrada para o espaço de código do tutorial de aprendizagem. Depois seleciona "Eliminar".

Próximos passos

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