O.NET Framework, explicado
O nome ".NET Framework" em si é um pouco errôneo. UMA estrutura (em termos de programação) é na verdade uma coleção de Interfaces de Programação de Aplicativos (APIs) e uma biblioteca compartilhada de código que os desenvolvedores podem chamar ao desenvolver aplicativos, para que eles não precisem escrever o código do zero. No.NET Framework, essa biblioteca de código compartilhado é denominada FCL (Framework Class Library). Os bits de código na biblioteca compartilhada podem executar todos os tipos de funções diferentes. Digamos, por exemplo, que um desenvolvedor precisava que seu aplicativo fosse capaz de executar ping em outro endereço IP na rede. Em vez de escrever esse código e, em seguida, escrever todos os pequenos pedaços que precisam interpretar o significado dos resultados do ping, eles podem usar o código da biblioteca que executa essa função.
E isso é apenas um pequeno exemplo. O.NET Framework contém dezenas de milhares de partes de código compartilhado. Esse código compartilhado facilita muito a vida dos desenvolvedores porque eles não precisam reinventar a roda toda vez que os aplicativos precisam executar alguma função comum. Em vez disso, eles podem se concentrar no código exclusivo de seus aplicativos e na interface do usuário que une tudo. Usar uma estrutura de código compartilhado como essa também ajuda a fornecer alguns padrões entre aplicativos. Outros desenvolvedores podem entender o que um programa está fazendo com mais facilidade e os usuários dos aplicativos podem contar com coisas como as caixas de diálogo Abrir e Salvar como, que funcionam da mesma maneira em aplicativos diferentes.
Então, por que o nome é um equívoco?
Porque, além de servir como uma estrutura de código compartilhado, o.NET também fornece ambiente de execução para aplicativos. Um ambiente de tempo de execução fornece uma caixa de proteção do tipo máquina virtual na qual os aplicativos são executados. Muitas plataformas de desenvolvimento fornecem o mesmo tipo de coisa. Java e Ruby on Rails, por exemplo, fornecem seus próprios ambientes de tempo de execução. No mundo.NET, o ambiente de tempo de execução é denominado Common Language Runtime (CLR). Quando um usuário executa um aplicativo, o código desse aplicativo é realmente compilado em código de máquina em tempo de execução e, em seguida, executado. O CLR também fornece alguns outros serviços, como gerenciamento de threads de memória e processador, tratamento de exceções de programas e gerenciamento de segurança. O ambiente de tempo de execução é realmente uma maneira de abstrair o aplicativo do hardware real no qual o aplicativo é executado.
A Microsoft criou outras implementações do.NET para ajudar a resolver isso. O Mono é um projeto gratuito e de código aberto projetado para fornecer compatibilidade entre aplicativos.NET e outras plataformas, especialmente o Linux. A implementação do.NET Core também é uma estrutura livre e de código aberto projetada para levar aplicativos leves e modulares para várias plataformas. O.NET Core destina-se a oferecer suporte ao Mac OS X, Linux e Windows (incluindo suporte para aplicativos da Plataforma Universal do Windows).
Como você pode imaginar, um framework como o.NET pode ser um benefício real no desenvolvimento das coisas. Ele permite que os desenvolvedores escrevam código usando seu idioma preferido e tenham certeza de que o código pode ser executado sempre que a estrutura for suportada. Os usuários se beneficiam de aplicativos consistentes e também do fato de que muitos aplicativos podem não ser desenvolvidos se os desenvolvedores não tiverem acesso à estrutura.
Como o.NET entra no meu sistema?
O.NET Framework tem uma história um pouco tortuosa e já viu várias versões ao longo dos anos. Normalmente, a versão mais recente do.NET disponível seria incluída no lançamento de cada versão do Windows. As versões foram planejadas para serem compatíveis com versões anteriores (para que um aplicativo criado para a versão 2 pudesse ser executado se a versão 3 fosse instalada), mas isso não funcionava tão bem. Nem todos os aplicativos funcionaram com as versões mais recentes. Nos sistemas que executam o Windows XP e o Vista, você geralmente vê várias versões diferentes do.NET instaladas em um PC.
Havia essencialmente três maneiras que qualquer versão específica do.NET Framework seria instalada:
- Sua versão do Windows pode incluí-lo na instalação padrão.
- Um aplicativo que requereu uma versão específica pode instalá-lo durante sua própria instalação.
- Alguns aplicativos até o enviam para um site de download separado para obter e instalar uma versão específica do.NET Framework.
Felizmente, as coisas são mais suaves nas versões modernas do Windows. Em algum momento durante os dias do Windows Vista, duas coisas importantes aconteceram. Primeiro, o.NET Framework 3.5 foi lançado. Essa versão foi reformulada para incluir componentes das versões 2 e 3. Os aplicativos que exigiam versões anteriores agora funcionariam se você tivesse a versão 3.5 instalada. Em segundo lugar, as atualizações para o.NET Framework finalmente começaram a ser entregues pelo Windows Update.
Juntas, essas duas coisas significavam que os desenvolvedores agora podiam confiar em usuários que possuíssem os componentes adequados já instalados e não precisassem mais solicitar aos usuários que executassem instalações adicionais.
Quando o Windows 8 chegou, um novo.NET Framework versão 4 completamente redesenhado veio com ele. A versão 4 (e superior) não apresenta compatibilidade com versões anteriores. Ele foi projetado para funcionar junto com a versão 3.5 no mesmo computador. Os aplicativos gravados nas versões 3.5 e inferiores exigirão que a versão 3.5 seja instalada e os aplicativos gravados na versão 4 ou superior precisarão da versão 4 instalada. A boa notícia é que você, como usuário, não precisa mais se preocupar com essas instalações. O Windows praticamente cuida de tudo para você.
O Windows 8 e o Windows 10 incluem as versões 3.5 e 4 (a versão atual é a 4.6.1). Eles são instalados pela primeira vez, portanto, na primeira vez que você instalar um aplicativo que precise de uma dessas versões, o Windows o adicionará automaticamente. Você pode adicioná-los ao Windows antecipadamente, se desejar, acessando os recursos opcionais do Windows. Você tem opções para adicionar a versão 3.5 e a versão 4.6 separadamente.
O que posso fazer se tiver problemas com o.NET?
Você provavelmente não terá problemas com o próprio.NET nas versões modernas do Windows. Como as duas versões exigidas estão incluídas no Windows e instaladas conforme necessário, as instalações de aplicativos são bastante perfeitas. Em versões mais antigas do Windows (pense no XP e no Vista), muitas vezes você tinha que desinstalar e reinstalar as várias versões do.NET para fazer as coisas funcionarem. Você também teve que passar por obstáculos para garantir que as versões corretas do.NET fossem instaladas para os aplicativos que precisavam delas. Agora, o Windows lida com essas coisas para você.
Dito isso, se você está tendo problemas que acredita estar relacionado ao.NET framework, há algumas etapas que você pode seguir.
Primeiro, você deve se certificar de que o Windows tenha todas as atualizações mais recentes. Se uma atualização do.NET Framework estiver disponível, isso poderá resolver seus problemas. Você também pode tentar remover as versões do.NET Framework do seu computador e adicioná-las novamente. Basta acessar nossa postagem sobre como adicionar recursos adicionais do Windows para ver como. Se nenhuma dessas etapas funcionar, você poderá tentar verificar se há arquivos de sistema corrompidos no Windows. Não demora muito e pode restaurar arquivos do sistema que foram corrompidos ou desapareceram. Vale sempre a pena.
Se nada disso funcionar, tente baixar e executar a Ferramenta de Reparo do Microsoft.NET Framework. A ferramenta suporta todas as versões atuais do.NET Framework. Ele ajuda a solucionar problemas comuns com a instalação ou atualizações do.NET e pode reparar automaticamente os problemas que você está enfrentando.