.NET Core 및 ASP.NET Core


답변:


209

업데이트 2020 : ASP.NET Core 3 이상은 이제 .NET Core에 의존하며 더 이상 .NET Framework에서 사용할 수 없습니다. 아래는 ASP.NET Core 1.x-2.x에 대한 설명입니다. ASP.NET Core 3.0에서는 계층 분리가 여전히 유효하지만 ASP.NET Core 계층은 더 이상 .NET Framework 3.0 이상에서 사용할 수 없습니다.

.NET Core는 런타임입니다. 내장 된 응용 프로그램을 실행할 수 있습니다.

ASP.NET Core는 웹 응용 프로그램 작성을위한 프레임 워크를 형성하는 라이브러리 모음입니다. ASP.NET Core 라이브러리는 .NET Core와 "Full .NET Framework"(수년 동안 창과 함께 제공됨) 모두에서 사용할 수 있습니다.

혼란스러운 부분은 ASP.NET Core의 라이브러리와 도구를 사용하는 응용 프로그램을 일반적으로 "ASP.NET Core 응용 프로그램"이라고하며, 이론적으로 .NET Core 또는 .NET Framework 용으로 작성된 것인지는 밝히지 않습니다. "ASP.NET 핵심 응용 프로그램" 는 ".NET 핵심 응용 프로그램"또는 ".NET 프레임 워크 응용 프로그램".

이 이미지는 관련 기술의 관계를 보여줍니다 ( 이 블로그 게시물에서 가져옴 ). .NET 웹 애플리케이션 기술

여기에서 ASP.NET Core는 .NET Framework와 .NET Core 모두에서 "최고"로 구축 된 반면 "ASP.NET"(현재 "클래식 ASP.NET"이라고도 함)은 .NET Framework 전용입니다.


22
그렇다면 우리는 클래식 ASP라고 무엇입니까? "고대 ASP"? : p
Dan Schnau

1
응용 프로그램을 사용하여 개발하는 경우 그래서 ASP.NET Core 다음 웹 서버에 우리가 설치해야 할 .NET Core RuntimeASP.NET Core runtime단지 또는 ASP.NET Core runtime충분하다
LP13

버전에 따라 2.1은 약간 분리되지만 서버에 "호스팅 번들"을 설치하는 한 괜찮습니다. .NET Framework에서 ASP.NET Core를 개발하는 경우 여전히 필요한 IIS 모듈을위한 호스팅 번들이 필요합니다
Martin Ullrich

3
@ DanSchnau, 우리는 "클래식 ASP", "ASP.NET"일명 "클래식 ASP.NET"및 "ASP.NET 코어"를 가지므로 전혀 충돌이 없습니다 :)
Gouda

@ LP13 : "ASP.NET Core Runtime"은 없습니다. "ASP.NET Core Runtime"은 자체적으로 실행할 수없는 패키지입니다 (.NET Core가 사전 설치되거나 독립형 앱으로 제공되지 않음)
Tseng

43

.NET Core를 사용하는 ASP.NET Core-모든 종속성이 자체 포함되어 있으며 대부분의 NuGet 패키지를 사용할 수 있으며 Windows 관련 패키지를 사용할 수 없으며 Windows, Linux 및 Mac에서 실행할 수 있습니다.

.NET Framework를 사용하는 ASP.NET Core- 대부분의 종속성은 자체 포함되어 있으며 Windows에서만 실행되며 Windows 관련 NuGet 패키지에 액세스 할 수 있으며 컴퓨터에 설치된 대상인 .NET Framework 버전이 필요합니다.


8
누가 이런 것들을 명명합니까? 이것은 매우 혼란 스럽다.
Nick

1
@Nick : Microsoft 마케팅. 그들은 이것의 오랜 역사를 가지고 있습니다. 그들은 제품을위한 일반적인 명사를 사용하여 웹을 아직 발견하지 못했습니다 (더 구체적이지 않은 단어가 더 나은 검색 엔진 세계에서는 좋지 않습니다. 바람직하게는 사전에없는 고유 한 단어).
Peter Mortensen

23

ASP.NET Core는 .NET Core에서 지원하는 작업 중 하나입니다.

에서 .NET 핵심 가이드 :

.NET Core 자체에는 도구, 로컬 서비스 및 텍스트 기반 게임에 유용한 단일 응용 프로그램 모델 (콘솔 앱)이 포함되어 있습니다. 다음과 같은 기능을 확장하기 위해 .NET Core 위에 추가 응용 프로그램 모델이 구축되었습니다.

  • ASP.NET 코어
  • Windows 10 UWP (유니버설 Windows 플랫폼)
  • Xamarin.Forms

이것은 나에게 더 적절한 대답입니다. 콘솔 앱용 .Net Core, 웹 앱용 ASP.Net Core
숀 장

5

.NET Framework는 마지막 릴리스에 있습니다. 4.8 이후에는 다른 것이 없습니다. Microsoft는 .NET Core를 계속 사용할 것입니다. 이때부터 프로젝트에서 .NET Core를 선호해야합니다.


2

그 위에 누군가에게 도움이 될만한 것을 추가하고 싶습니다.

.NET Core 요청 파이프 라인에는 미들웨어 주입이라는 것이 있습니다. 올바르게 구현되면 응용 프로그램 예외를 자동으로 가로 챌 수 있으며 모든 메소드에서 로깅하는 대신 한 곳에서 로깅을 훨씬 쉽게 수행 할 수 있으므로 매우 유용합니다.


답변에 하나 이상의 참조 / 링크를 추가 할 수 있습니까?
Peter Mortensen
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.