Como funciona o compilador no .NET e o que é Nuget ?
Essas foram as dúvidas mais frequentes enquanto eu começava(e ainda começo) a carreira de dev .NET. Por isso decidi pesquisar, e aprender enquanto compartilho minha visão
O compilador .NET é a ponte que transforma código de linguagens .NET em código de máquina antes de ser executado. Passando por etapas de análise como a léxica e sintática, e a criação de um código intermediário de baixo nível chamado CIL (common intermediate language).
Este código é a "raiz" do programa que executa em qualquer sistema e não precisa de plataforma específica. E é a partir dele, que o runtime converte para o código nativo da máquina que está executando. Por exemplo: O runtime no linux vai converter o CIL de uma forma, e o runtime do MACOS de outra forma.
Fonte: Material complementar da DIO, e busca no Dev community
Agora sobre o Nuget... É o gerenciador de pacotes do .NET, onde é possível criar e usar bibliotecas de outros devs. Basicamente, é uma biblioteca de busca geral que contém outras bibliotecas específicas, e você pode levar um pedaço de tudo o que quiser pra casa sem precisar devolver.
Como exemplo, escolhi um item no Microsoft Learn sobre o Azure.Core.
Todas as bibliotecas clientes seguem o padrão do Azure SDK.
Pelo que entendi, você pode utilizar o Azure.Core sem baixá-lo através de várias bibliotecas clientes prontas. Ou também criar a sua biblioteca (mas nesse caso terá que instalar o Azure.Core).
Segue abaixo os conceitos chaves que é possível implementar nas bibliotecas clientes:
Configuração de clientes de serviço, por exemplo, configuração de tentativas, registro ().ClientOptions
Acessando detalhes da resposta HTTP (, ).ResponseResponse<T>
Chamando operações de longa duração ().Operation<T>
Paginação e fluxos assíncronos ().AsyncPageable<T>
Exceções para reportar erros de solicitações de serviço de forma consistente. ().RequestFailedException
Personalizando pedidos ().RequestContext
Abstrações para representar credenciais do Azure SDK. ().TokenCredentials
Fonte: https://www.nuget.org/packages/Azure.Core




