Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 23453|Resposta: 0

[.NET Core] [Introdução DotNet (2)]. Compilação e lançamento do NET Core

[Copiar link]
Publicado em 21/01/2019 17:10:26 | | | |
1. Ferramenta de interface de linha de comando (CLI) NET Core
Obsoletou project.json e o substituiu por um arquivo .csproj, que project.json era usado como arquivo de configuração de projeto no início do núcleo .NET, e estima-se que a Microsoft o tenha desativado após descobrir alguns problemas, e o MSBuild ainda era usado como ferramenta de compilação .net.

O MSBuild apresenta:https://docs.microsoft.com/zh-cn ... sbuild?view=vs-2017

Quando realizamos compilação e geração de VS, o VS apenas nos ajuda a chamar a ferramenta MSBuild, o que significa que, ao compilar o projeto .NET, não precisamos instalar a ferramenta VS.

O comando da ferramenta CLI do .NET Core é o seguinte:

Ferramentas de Linha de Comando .NET (2.1.301)
Uso: dotnet [opções-runtime] [caminho para-aplicação]
Uso: dotnet [sdk-options] [comando] [argumentos] [comando-options]

path-to-application:
  O caminho para a aplicação .dll arquivo a ser executado.

Comandos do SDK:
  nova inicializa o projeto .NET.
  restaurar as dependências especificadas no projeto .NET.
  execute e execute o projeto .NET imediatamente.
  Construa um projeto .NET.
  Publicar publica um projeto .NET para implantação (incluindo o tempo de execução).
  Testes executam testes unitários usando o executor de testes especificado no projeto.
  Pacote para criar um pacote NuGet.
  migrar projetos baseados em project.json para projetos baseados no MSBuild.
  Saída limpa e limpa gerada.
  Arquivo de Solução de Modificação SLN (SLN).
  Adicione à referência.
  Remova do projeto.
  Liste as ferramentas que o projeto faz referência ou instala.
  O NuGet fornece comandos NuGet adicionais.
  O msbuild roda o Microsoft Build Engine (MSBuild).
  vstest executa a ferramenta de linha de comando Microsoft Test Execution.
  O armazenamento armazena o conjunto especificado no armazenamento de tempo de execução.
  ferramenta para instalar ou usar ferramentas que estendam a experiência .NET.
  O build-server interage com o servidor que é lançado pela versão do build.
  Ajuda mostra ajuda.

Opções Comuns:
  -v|--verbosidade define o nível de detalhe do comando. Os valores permitidos são Q[UIET], M[inimal], N[Ormal], D[etailed] e diag[nostic].
  -h|--ajuda mostra ajuda.

Execute o comando dotnet --help para obter mais informações sobre o comando.

sdk-options:
  --versão mostra a versão do SDK .NET Core em uso.
  --info exibe informações do .NET Core.
  --list-sdks para exibir o SDK instalado.
  --list-runtimes mostra o tempo de execução instalado.
  -d|--diagnostics permite a saída de diagnóstico.

runtime-options:
  --additionalprobingpath <path> O caminho contendo a política da sonda e a montagem para a sonda.
  --versão fx <version> da versão instalada do framework compartilhado a ser usada para rodar a aplicação.
  --roll-forward-on-no-candidate-fx "No Roll Forward to Candidate Shared Framework" está ativado.
  --adicional-deps <path> para o caminho para outros arquivos deps.json.

Ferramentas adicionais ('dotnet [nome-ferramenta] --ajuda' para mais informações):
  dev-certs Criar e gerenciar certificados de desenvolvimento.
  ef Entity Framework Ferramentas de linha de comando essenciais.
  SQL cache, ferramentas de linha de comando em cache SQL Server.
  secretos de usuário Gerenciar segredos de usuário de desenvolvimento.
  Assista Iniciar um observador de arquivos que executa um comando quando os arquivos mudam.

2. Compilação e lançamento


Publique um projeto .NET para implantação (incluindo o tempo de execução).
dotnet publish


C:\project\dotnet\test1>dotnet publish --help
Uso: dotnet publish [opções]

Opções:
  -h, --ajuda exibe informações de ajuda.
  -o, --output <OUTPUT_DIR> é usado para colocar o diretório de saída do item publicado.
  -f, --framework <FRAMEWORK> O framework alvo a ser publicado. O framework alvo deve ser especificado no documento do projeto.
  -r, --<RUNTIME_IDENTIFIER>runtime publique o projeto para um determinado tempo de execução. Use isso ao criar implantações autônomas. A ação padrão é publicar um aplicativo que depende do framework.
  -c, --configuração <CONFIGURATION> é usada para gerar a configuração do projeto. O valor padrão para a maioria dos projetos é "Debug".
  --<VERSION_SUFFIX>version-suffix define o valor da propriedade $(VersionSuffix) no seu projeto.
  --manifeste <manifest.xml> Caminho para o arquivo manifesto alvo contendo uma lista de pacotes a serem executados através da etapa de publicação.
  --não-build não construa o projeto antes de publicar. Implica --não-restauração.
  --aplicativos autônomos que acompanham publicam runtimes .NET Core, eliminando a necessidade de instalar o tempo de execução na máquina de destino. Se um identificador de tempo de execução for especificado, ele é padrão para "verdadeiro".
  --no-restore Não realize uma restauração implícita enquanto executa o comando.
  -v, --verbosidade define o nível de detalhe do comando. Os valores permitidos são Q[UIET], M[inimal], N[Ormal], D[etailed] e diag[nostic].
  --no-dependencies define essa bandeira para ignorar referências de projeto a projeto e restaurar apenas o projeto raiz.
  --forçar a resolução de todas as dependências, mesmo que a última restauração tenha sido bem-sucedida. Isso equivale a deletar project.assets.json.
Do ponto de vista da execução, os comandos CLI pegam seus parâmetros e constroem uma chamada para o MSBuild "original" para definir as propriedades desejadas e o alvo desejado a serem executados. Para ilustrar melhor isso, consulte o seguinte comando:


Esse comando publica a aplicação na pasta pub usando a configuração Publicar. Internamente, esse comando se traduz para a seguinte chamada MSBuild:
Defina a plataforma-alvo para sua aplicação


Crie uma tag na seção do arquivo csproj (que é usada para definir a plataforma alvo do seu app) <PropertyGroup> <RuntimeIdentifiers> e então especifique o identificador de tempo de execução (RID) para cada plataforma alvo. Note que pontos e vírgulas também são necessários para separar RIDs. Consulte o Catálogo de Identificadores de Tempo de Execução para uma lista de identificadores de tempo de execução.
Por exemplo, a <PropertyGroup> seção a seguir indica que o aplicativo roda em um sistema operacional Windows 10 de 64 bits e em uma versão OS X de 64 bits versão 10.11 do sistema operacional.


Se quisermos gerar apenas uma distribuição abaixo da plataforma x64 do win10, podemos executar o seguinte comando:

Pasta de saída: C:\project\dotnet\test1\bin\release\netcoreapp2.1\win10-x64\publish, a pasta inteira tem 66M, o que é bastante grande, como mostrado na figura abaixo:



Gerar o pacote de lançamento na plataforma centos.7-x64, há 70M, que também é bastante grande, vamos tentar publicá-lo no centos 7 para executá-lo (O SDK .NET Core não está instalado em sistemas CentOS 7)。

As informações do sistema são as seguintes:

[root@master ~]# uname -a
Linux master 3.10.0-862.el7.x86_64 #1 SMP Sex 20 Abr 16:44:24 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
[root@master ~]# gato /etc/redhat-release
CentOS Linux versão 7.6.1810 (Core)
Enviamos o arquivo para o diretório temporário e tentamos executar o arquivo test1, que pode ser gerado normalmente, da seguinte forma:

[root@master ~]# mkdir temporário
[root@master ~]# Temperatura do CD/
[root@master temp]# ./test1
-bash: ./test1: Permissões insuficientes
[root@master temp] # CD ..
[root@master ~]# chmod -R 777 temp/
[root@master ~]# Temperatura do CD/
[root@master temp]# ./test1
Olá, mundo!
[root@master temp] # eco "http://www.itsvse.com"
http://www.itsvse.com
[root@master temp] #


3、. Identificador de Execução NET Core

.NET Core RID, RID é a abreviação de Identificador de Tempo de Execução. Os valores RID são usados para identificar a plataforma-alvo na qual a aplicação roda. Os pacotes .NET os utilizam para representar ativos específicos da plataforma em pacotes NuGet. Os valores a seguir são exemplos de RID: linux-x64, ubuntu.14.04-x64, win7-x64 ou osx.10.12-x64. Para pacotes com dependências nativas, o RID especifica a plataforma na qual o pacote pode ser restaurado.

<RuntimeIdentifier> Você pode definir um RID no elemento do arquivo do projeto. Múltiplos RIDs podem ser definidos como uma <RuntimeIdentifiers> lista (separada por ponto e vírgula) nos elementos de um arquivo de projeto.

RIDs que representam um sistema operacional específico normalmente seguem o seguinte padrão: [os]. [versão]-[arquitetura]-[qualificadores adicionais], onde:
  • [OS] é o nome do sistema operacional/sistema de plataforma. Por exemplo, o Ubuntu.
  • [versão] é a versão do sistema operacional, que é formatada por um número de versão ponto. Por exemplo, 15,10. Versões não devem ser lançamentos de marketing, pois normalmente representam múltiplas versões discretas do sistema operacional com diferentes periféricos de API de plataforma.
  • [arquitetura] é a arquitetura do processador. Por exemplo: x86, x64, arm ou arm64.
  • [qualificadores adicionais] diferenciar ainda mais entre diferentes plataformas. Por exemplo, AOT ou Corert.



Introdução específica:https://docs.microsoft.com/zh-cn/dotnet/core/rid-catalog

4、. O NET Core cria pacotes NuGet

Para .NET Standard e .NET Core, todas as bibliotecas devem ser lançadas como pacotes NuGet. Na verdade, é assim que todas as bibliotecas padrão .NET são publicadas e utilizadas. Isso pode ser facilmente alcançado usando o comando dotnet pack.



(Fim)




Anterior:Tutorial em Vídeo do Exame Nacional do Serviço Civil 2019
Próximo:Visual Studio 2017 adiciona MSDN
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com