Qual é exatamente a diferença entre o .NET Core e o ASP.NET Core?
Eles são mutuamente exclusivos? Ouvi dizer que o ASP.NET Core é baseado no .NET Core, mas também pode ser construído na estrutura completa do .NET.
Então, o que exatamente é o ASP.NET Core?
asp.net-core
.net-core
blubberbo
fonte
fonte
Respostas:
Atualização 2020 : Observe que o ASP.NET Core 3 e superior agora dependem do .NET Core e não podem mais ser usados no .NET Framework. A descrição abaixo é para o ASP.NET Core 1.x-2.x; a separação de camada ainda é verdadeira para o ASP.NET Core 3.0, mas a camada do ASP.NET Core não pode mais ser usada na parte superior do .NET Framework no 3.0+.
O .NET Core é um tempo de execução. Ele pode executar aplicativos criados para isso.
O ASP.NET Core é uma coleção de bibliotecas que formam um Framework para a criação de aplicativos Web. As bibliotecas do ASP.NET Core podem ser usadas no .NET Core e no "Full .NET Framework" (que acompanha o Windows há muitos anos).
A parte confusa é que um aplicativo que usa as bibliotecas e ferramentas do ASP.NET Core é geralmente chamado de "ASP.NET Core Application", que em teoria não diz se foi criado para o .NET Core ou .NET Framework. Portanto, um "aplicativo principal do ASP.NET" também é ".NET Core Application" ou ".NET Framework Application".
Esta imagem mostra a relação das tecnologias envolvidas (retirada desta postagem do blog )
Aqui você pode ver que o ASP.NET Core é construído "sobre" o .NET Framework e o .NET Core, enquanto o "ASP.NET" (agora conhecido como "ASP.NET clássico") é apenas o .NET Framework.
fonte
ASP.NET Core
, em seguida, no servidor web que precisamos para instalar.NET Core Runtime
eASP.NET Core runtime
ou apenasASP.NET Core runtime
é suficienteASP.NET Core usando .NET Core - todas as dependências são independentes, podem usar a maioria dos pacotes NuGet, não podem usar pacotes específicos do Windows, podem executar no Windows, Linux e Mac.
ASP.NET Core usando o .NET Framework - a maioria das dependências é independente, é executada apenas no Windows, terá acesso a pacotes NuGet específicos do Windows, precisa da versão do .NET Framework direcionada instalada na máquina.
fonte
O ASP.NET Core é uma das cargas de trabalho suportadas pelo .NET Core.
De guia .NET Core :
fonte
O .NET Framework está em sua última versão. Não haverá outro após o 4.8. A Microsoft continuará com o .NET Core. A partir desse momento, você deve preferir o .NET Core em seus projetos.
fonte
Além disso, gostaria de acrescentar que pode ajudar alguém.
Há algo chamado injeção de middleware no pipeline de solicitação do .NET Core. Se implementado corretamente, isso é muito útil, pois pode interceptar exceções de aplicativos automaticamente e facilita muito o log em um local, em vez de todos os métodos.
fonte