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

Vista: 33299|Resposta: 2

[.NET Core] Os novos recursos do .NET Core lançam um executável de arquivo único

[Copiar link]
Postado em 28-09-2019 16:38:47 | | | |
Há alguns dias, a Microsoft lançou o .NET Core 3.0, e uma das maiores melhorias é o suporte para aplicativos desktop Windows (apenas para Windows). Usando o .NET Core 3.0 SDK Windows Desktop Component, você pode portar aplicativos Windows Forms e Windows Presentation Foundation (WPF). Para deixar claro, os componentes da área de trabalho do Windows são suportados e incluídos apenas no Windows.

Endereço de download do SDK:O login do hiperlink está visível.

Links para apresentar recursos do .NET Core:

O login do hiperlink está visível.
O login do hiperlink está visível.

As características incluem o seguinte:

  • Use C# para construir aplicativos web clientes ricos e interativos.
  • Use o gRPC para criar serviços backend de alto desempenho.
  • O SignalR agora suporta reconexão automática e fluxos cliente-servidor.
  • Use a documentação do OpenAPI para gerar código cliente fortemente tipado para APIs Web.
  • O roteamento de endpoints é integrado pelo framework.
  • O Kestrel tem o HTTP/2 ativado por padrão.
  • API web integrada e suporte para autenticação de aplicativos de página única.
  • Certificados e autenticação por Kerberos são suportados.
  • Integre o novo serializador System.Text.Json.
  • O novo hospedagem universal estabelece serviços gerenciados comuns, como injeção de dependências, configuração e logs.
  • Um novo modelo de Serviço ao Trabalhador para construir serviços de longo prazo.
  • Novos EventCounters são criados para solicitações por segundo, total, atuais e requisições fracassadas.
  • Erros de inicialização hospedados no IIS agora são reportados ao Registro de Eventos do Windows.
  • Solicite integração de pipeline System.IO.Pipelines.
  • Melhorias de desempenho em toda a pilha tecnológica.

Vamos criar um novo projeto de console .NET Core 3.0 com VS 2019, como mostrado na figura abaixo:



Referenciando o pacote Newtonsoft.Json, escreva algumas linhas de código, da seguinte forma:


Clicamos com o botão direito em VS Regenerate, depois abrimos o diretório bin do projeto e vemos que vários arquivos serão gerados, incluindo arquivos :demo1.exe e Newtonsoft.Json.dll.



Publique um executável em arquivo único

Método 1:

Execute o seguinte comando no diretório do projeto:



Abrimos a pasta C:\Users\itsvse_pc\source\repos\demo1\demo1\bin\Debug\netcoreapp3.0\win10-x64, e veremos que muitos arquivos dll são gerados e há uma pasta de publicação.

Vá para a pasta de publicação,O tamanho da demo1.exe de visualização é 66M, que é o mesmo tamanho de todos os arquivos fora da pasta, como mostrado na figura abaixo:



O arquivo executável único gerado na verdade contém o ambiente necessário para a execução do programa, e não exige que o computador alvo instale o SDK, e a desvantagem é que o tamanho do arquivo se tornará muito grande.

Método 2:

Clique com o botão direito versus editar o arquivo do projeto e adicionar a configuração do nó PublishSingleFile, o código é o seguinte:

Depois, clique com o botão direito e clique no botão "Publicar".


Links de montagem

O SDK .NET core 3.0 vem com uma ferramenta que pode reduzir o tamanho do seu app analisando IL e recortando assemblies não utilizados.

Aplicativos autônomos incluem tudo o que você precisa para rodar código sem precisar instalar o .NET no seu computador principal. No entanto, muitas vezes o app precisa de apenas uma fração do framework para rodar, e outras bibliotecas não utilizadas podem ser removidas.

O .NET Core agora inclui uma configuração que escaneia o IL do seu app usando a ferramenta linker IL. Essa ferramenta detectará qual código é necessário e então cortará bibliotecas não utilizadas. Essa ferramenta pode reduzir significativamente o tamanho de implantação de algumas aplicações.

Para habilitar essa ferramenta, use as <PublishTrimmed> configurações do seu projeto e publique um aplicativo autônomo:

.NET Core CLI


Acabamos de gerar um arquivo de 66M e, depois de adicionar a configuração,Tornou-se 35M, reduzindo a ocupação de 30M

Certifique-se de considerar aplicações ou frameworks que usam reflexões ou recursos dinâmicos relacionados (incluindo ASP.NET Core e WPF)Geralmente danificado durante o corteEssa corrupção ocorre porque o linker não está ciente desse comportamento dinâmico e não consegue determinar quais tipos de quadro são necessários para reflexão。 A ferramenta linker IL pode ser configurada para detectar essa situação.

O mais importante é aplicar após o corteConduzir testes


(Fim)






Anterior:Resolver o ajax não poder atribuir valores a variáveis externas
Próximo:A linguagem C é tão poderosa, em qual idioma ela está escrita?
Postado em 29-09-2019 09:30:44 |

Obrigado por compartilhar
 Senhorio| Postado em 30-10-2019 09:14:15 |
Imagem ReadyToRun
Pode ser aprimorado compilando o conjunto de aplicações no formato ReadyToRun (R2R). Hora de iniciar a aplicação NET Core.

R2R é uma forma de pré-compilado (AOT). Os binários R2R melhoram o desempenho de inicialização ao reduzir a quantidade de trabalho que compiladores em tempo real (JIT) precisam realizar quando a aplicação carrega. O binário contém código nativo semelhante ao que o JIT irá gerar. No entanto, binários R2R são maiores porque contêm código de linguagem intermediária (IL) (que ainda é necessário em alguns casos) e uma versão nativa do mesmo código. O R2R está disponível apenas quando você publica um aplicativo autônomo que tenha como alvo um ambiente específico de runtime (RID), como Linux x64 ou Windows x64.



Aqui primeiro deixamos o comentário e <PublishTrimmed>depois <PublishReadyToRun>acrescentamos:

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