.NET Core vs ASP.NET Core


Respostas:


209

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 ) Tecnologias de aplicativos da Web .NET

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.


22
Então, o que chamamos de ASP clássico? "ASP antigo"? : p
Dan Schnau

1
por isso, se o aplicativo é desenvolvido usando ASP.NET Core , em seguida, no servidor web que precisamos para instalar .NET Core Runtimee ASP.NET Core runtimeou apenas ASP.NET Core runtimeé suficiente
LP13

Depende da versão, a 2.1 será dividida um pouco, mas contanto que você instale os "pacotes de hospedagem" nos servidores, você estará bem. Se você desenvolver para ASP.NET Núcleo em .NET Framework, você ainda precisa do pacote hospedagem para o módulo IIS necessário
Martin Ullrich

3
@DanSchnau, temos "Classic ASP", AKA "ASP.NET Classic" "ASP.NET" e "ASP.NET Core", de modo nenhum conflito em todos os :)
Gouda

@ LP13: Não há "ASP.NET Core Runtime", é apenas um monte de pacotes que não podem ser executados por si só (sem o .NET Core pré-instalado ou enviado como aplicativo independente)
Tseng

43

ASP.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.


8
Quem nomeia essas coisas? Isso é super confuso.
Nick

1
@ Nick: marketing da Microsoft. Eles têm uma longa história disso. Eles ainda não descobriram a Web - usando substantivos comuns para produtos (não é bom em um mundo de mecanismos de pesquisa em que palavras menos comuns mais específicas são melhores, de preferência palavras únicas que não estão no dicionário).
Peter Mortensen

23

O ASP.NET Core é uma das cargas de trabalho suportadas pelo .NET Core.

De guia .NET Core :

Por si só, o .NET Core inclui um único modelo de aplicativo - aplicativos de console - que é útil para ferramentas, serviços locais e jogos baseados em texto. Modelos de aplicativos adicionais foram criados sobre o .NET Core para estender sua funcionalidade, como:

  • ASP.NET Core
  • Plataforma Universal do Windows do Windows 10 (UWP)
  • Xamarin.Forms

Esta é uma resposta mais relevante para mim. .Net Core para aplicativo de console, ASP.Net Core para aplicativo da web.
Shawn Zhang

5

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.


2

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.


Você pode adicionar uma ou mais referências / links à sua resposta?
Peter Mortensen
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.