이 문서의 과거 버전 (r1)을 보고 있습니다. 수정일: 2026.02.23 17:00
.NET은 마이크로소프트가 개발하고 .NET Foundation이 관리하는 오픈 소스 프레임워크이다. 원래 윈도우 전용 클로즈드 소스 환경으로 시작했으나, 현재는 크로스 플랫폼을 지원하며 MIT 라이선스 하에 개발되고 있다. 이 프레임워크는 웹 애플리케이션, 데스크톱 애플리케이션, 클라우드 서비스, 모바일 앱 등 다양한 종류의 소프트웨어를 구축하는 데 사용된다.
주요 지원 언어로는 C#, Visual Basic .NET, F#이 있으며, 이들은 모두 공용 언어 런타임 위에서 실행된다. .NET은 윈도우뿐만 아니라 리눅스와 macOS를 포함한 여러 운영 체제에서 애플리케이션을 개발하고 실행할 수 있는 환경을 제공한다. 이러한 크로스 플랫폼 지원은 .NET Core 구현체를 기반으로 이루어졌다.
프레임워크의 핵심 구성 요소는 공용 언어 런타임과 방대한 클래스 라이브러리로, 메모리 관리, 보안, 예외 처리와 같은 기본 서비스를 제공한다. 개발자는 비주얼 스튜디오 같은 통합 개발 환경이나 명령줄 인터페이스를 통해 .NET 애플리케이션을 빌드할 수 있다.
시간이 지남에 따라 .NET Framework, .NET Core, Mono 등 여러 런타임 구현체가 발전해 왔으며, 최근 버전들은 통합된 단일 플랫폼을 지향한다. 또한, .NET Standard를 통해 다양한 구현체 간에 호환되는 API 표준을 정의하여 라이브러리의 재사용성을 높였다.
.NET은 크로스 플랫폼 개발을 지향하는 프레임워크로, 주요 데스크톱 운영체제를 광범위하게 지원한다. 초기 .NET Framework는 Windows 환경에만 국한되었으나, .NET Core의 등장과 오픈 소스화 이후 지원 범위가 크게 확대되었다.
현재의 .NET은 Windows, Linux, macOS를 주요 공식 지원 플랫폼으로 삼고 있다. 각 플랫폼별로 SDK와 런타임을 설치하여 애플리케이션을 개발하고 실행할 수 있다. Linux의 경우 주요 배포판인 Ubuntu, RHEL, Debian, Fedora 등에 대해 공식 패키지가 제공되어 편리한 설치가 가능하다.
지원 플랫폼의 구체적인 버전은 .NET의 각 메이저 버전마다 상이할 수 있으며, 공식 문서에 명시된다. 예를 들어, 최신 LTS 버전인 .NET 8은 Windows 10 버전 1809 이상, 다양한 Linux 배포판의 특정 버전 이상, 그리고 macOS 10.15 "Catalina" 이상을 지원한다. 이러한 크로스 플랫폼 지원은 .NET Foundation이 주도하는 통합 개발 전략의 핵심 결과물이다.
.NET은 다양한 프로그래밍 언어를 지원하는 플랫폼이다. 마이크로소프트가 직접 개발하고 공식적으로 지원하는 주요 언어로는 C#, Visual Basic .NET, F#이 있다. 이들 언어는 모두 공용 언어 런타임 위에서 실행되며, 풍부한 .NET 클래스 라이브러리를 공유하여 사용한다.
역사적으로는 C++/CLI나 J#과 같은 다른 언어도 지원된 적이 있다. 또한 동적 언어 런타임을 통해 IronPython이나 IronRuby 같은 동적 스크립트 언어를 실행하는 것도 가능하다. 현재는 C#이 가장 활발하게 발전하고 널리 사용되는 주력 언어이며, F#은 함수형 프로그래밍에 특화된 언어로 자리 잡고 있다.
이 외에도 서드파티에서 개발한 Oxygene이나 PeachPie와 같은 언어들도 .NET을 대상으로 컴파일될 수 있다. 그러나 실무에서 사용하기 전에는 해당 언어의 지속적인 지원 여부를 반드시 확인해야 한다.
.NET 5는 마이크로소프트가 2020년 11월에 출시한 통합 플랫폼의 첫 번째 버전이다. 이 버전은 기존에 분리되어 개발되던 .NET Core, .NET Framework, Xamarin 및 Mono의 주요 기능을 하나의 통합된 플랫폼으로 합치는 중요한 전환점이 되었다. .NET 5부터는 "Core" 접미사가 제거되고 단순히 ".NET"이라는 명칭을 사용하며, 향후 모든 개발은 이 단일 코드베이스를 중심으로 진행된다. 이는 개발자가 Windows, Linux, macOS, iOS, Android 등 다양한 플랫폼을 대상으로 애플리케이션을 구축할 때 일관된 API와 도구 체인을 사용할 수 있게 해준다.
이 버전은 C# 9.0과 F# 5.0을 공식 지원하며, 성능 향상, 특히 JSON 처리 및 가비지 컬렉션 영역에서 개선이 두드러졌다. 또한, ARM64 아키텍처에 대한 지원이 강화되어 Apple Silicon 프로세서를 탑재한 최신 Mac에서의 실행 성능이 개선되었다. .NET 5는 장기 지원(LTS) 버전이 아닌 표준 기간 지원(STS) 버전으로 분류되어, 출시일로부터 약 18개월 동안의 지원을 받았다.
주요 기술적 발전으로는 고성능 웹 애플리케이션 개발을 위한 ASP.NET Core의 개선사항과, 단일 프로젝트에서 여러 플랫폼을 대상으로 하는 .NET MAUI의 초기 기반이 마련된 점을 꼽을 수 있다. 그러나 .NET 5는 통합 과정의 중간 단계로, 완전한 .NET Framework API 호환성을 제공하지는 않았으며, 특히 Windows Forms와 WPF 애플리케이션의 완전한 크로스 플랫폼 실행은 지원되지 않았다. 이 버전의 출시는 .NET 생태계의 분열을 해소하고 미래의 통합 발전을 위한 토대를 확고히 했다는 점에서 큰 의미를 지닌다.
.NET 6은 마이크로소프트가 2021년 11월 8일에 출시한 .NET 플랫폼의 메이저 버전이다. 이 버전은 .NET 5의 후속 버전이자, 통합된 .NET 플랫폼의 두 번째 단일 릴리스이다. .NET 6은 C# 10과 F# 6을 공식 지원하며, Windows, Linux, macOS를 포함한 다양한 플랫폼에서 실행된다. 또한 Long-Term Support 버전으로 지정되어 2024년 11월 12일까지 표준 지원을 받는다.
이 버전의 주요 특징은 ARM64 아키텍처에 대한 네이티브 지원 강화와 새로운 크로스 플랫폼 UI 프레임워크인 .NET MAUI의 도입이다. 이를 통해 개발자는 Android, iOS, macOS 및 Windows를 위한 단일 코드베이스로 애플리케이션을 구축할 수 있게 되었다. 또한 성능 최적화에 중점을 두어 가비지 컬렉션, JIT 컴파일러, 파일 입출력 등 핵심 영역에서 상당한 속도 향상을 이루었다.
.NET 6은 웹 애플리케이션 개발을 위한 ASP.NET Core의 최신 기능과 함께 제공되며, Minimal API를 도입하여 더 간결한 코드로 API를 작성할 수 있게 했다. 또한 핫 리로드 기능을 기본적으로 지원하여 코드 변경 사항을 저장하는 즉시 애플리케이션을 재시작 없이 반영할 수 있어 개발자 생산성을 높였다.
.NET 7은 마이크로소프트가 개발하고 .NET Foundation이 관리하는 .NET 플랫폼의 메이저 버전이다. 2022년 11월 8일에 출시되었으며, 표준 기간 지원(STS) 버전으로 2024년 5월 14일에 지원이 종료되었다. 이 버전은 Windows, Linux, macOS를 포함한 주요 운영 체제를 계속 지원하며, 성능 향상과 새로운 개발자 기능에 중점을 두었다.
주요 개선 사항으로는 .NET Native AOT 컴파일의 실험적 도입을 들 수 있다. 이를 통해 애플리케이션을 중간 언어(CIL)가 아닌 대상 플랫폼의 네이티브 코드로 직접 컴파일할 수 있어, 시작 시간을 단축하고 메모리 사용량을 줄일 수 있게 되었다. 초기에는 Windows 및 Linux의 x64와 ARM64 아키텍처 프로젝트에서만 지원되었다. 또한 이 버전은 새로운 C# 11 및 F# 7 언어 기능을 완전히 지원한다.
성능 최적화 측면에서도 지속적인 발전이 이루어졌다. JIT 컴파일러와 가비지 컬렉션이 개선되었으며, ASP.NET Core와 같은 핵심 라이브러리의 처리 속도와 효율성이 향상되었다. 개발자 생산성을 위한 도구로는 Visual Studio 및 Visual Studio Code의 통합 개발 환경과 CLI 도구 체인이 개선되어 마이크로서비스 및 클라우드 네이티브 애플리케이션 개발을 더욱 용이하게 했다.
.NET 8은 2023년 11월 15일에 정식 출시된 .NET 플랫폼의 장기 지원(LTS) 버전이다. 이 버전은 C# 12 및 F# 8 언어 버전을 지원하며, 성능, 네이티브 AOT 컴파일, 클라우드 네이티브 애플리케이션 개발에 중점을 두었다.
주요 개선 사항으로는 .NET Native AOT 컴파일 지원 범위의 확대가 있다. .NET 8에서는 기존의 Windows 및 Linux용 x64, ARM64 프로젝트뿐만 아니라, 안드로이드, macOS, iOS, tvOS 등 모바일 및 임베디드 플랫폼에서도 네이티브 AOT 컴파일을 사용할 수 있게 되었다. 이를 통해 별도의 런타임 설치 없이 실행 가능한 파일을 생성하고, 애플리케이션의 시작 속도와 메모리 사용량을 크게 개선할 수 있다.
성능 최적화 측면에서는 JIT 컴파일러가 AVX 및 AVX512 명령어 세트를 적극적으로 활용하도록 개선되었으며, Dynamic PGO가 기본적으로 활성화되어 빈번히 실행되는 코드 경로의 성능이 자동으로 최적화된다. 또한 ASP.NET Core는 클라우드 네이티브 애플리케이션을 위한 향상된 서비스 발견, 상태 관리, 회복력 패턴을 제공한다.
주요 특징 | 설명 |
|---|---|
지원 기간 | 2026년 11월 10일까지 지원되는 LTS 버전 |
주요 언어 | C# 12, F# 8, Visual Basic 지원 |
AOT 지원 확대 | Windows, Linux, macOS, Android, iOS 등 다중 플랫폼 지원 |
성능 개선 | Dynamic PGO 기본 활성화, AVX/AVX512 최적화 |
컨테이너 지원 | 더 작은 크기의 컨테이너 이미지 생성 및 보안 강화 |
.NET 9는 마이크로소프트가 개발하고 .NET Foundation이 관리하는 .NET 플랫폼의 메이저 버전이다. 2024년 11월 12일에 정식 버전이 출시되었으며, 표준 기간 지원(STS) 정책에 따라 2026년 5월 12일까지 지원된다. 이 버전은 C# 13과 F# 9 언어 버전을 공식 지원하며, Windows, Linux, macOS 등 주요 운영 체제에서 실행된다.
이번 버전에서는 지속적인 성능 향상에 중점을 두었다. JIT 컴파일러와 GC의 최적화가 이루어졌으며, 새로운 SIMD 명령어 활용을 통해 수치 연산 및 데이터 처리 성능이 개선됐다. 또한 .NET Native AOT 컴파일 지원이 더욱 안정화되어, 독립 실행형 네이티브 애플리케이션의 배포와 시작 속도가 빨라졌다.
개발자 생산성을 높이는 새로운 API와 기능이 추가되었다. 특히 컬렉션 처리, JSON 직렬화, 암호화 작업을 위한 새로운 유틸리티 메서드들이 표준 라이브러리에 포함됐다. ASP.NET Core와 같은 웹 프레임워크 역시 성능 개선과 새로운 미들웨어 옵션을 통해 업데이트되었다.
.NET 9는 이전 버전인 .NET 8과의 높은 호환성을 유지하며, 개발자들이 기존 프로젝트를 비교적 쉽게 마이그레이션할 수 있도록 설계되었다. MIT 라이선스 하에 제공되는 오픈 소스 프로젝트로서, 모든 소스 코드는 공개 저장소에서 확인하고 기여할 수 있다.
.NET Core는 마이크로소프트가 개발하고 .NET Foundation이 관리하는 오픈 소스, 크로스 플랫폼 애플리케이션 개발 프레임워크이다. 기존 .NET Framework가 Windows 운영 체제에 종속된 한계를 극복하기 위해 만들어졌으며, Linux와 macOS를 포함한 다양한 플랫폼에서 애플리케이션을 개발하고 실행할 수 있다. MIT 라이선스로 배포되며, 주요 지원 언어로는 C#, Visual Basic .NET, F#이 있다.
이 런타임은 CLR과 핵심 라이브러리로 구성되며, 웹 애플리케이션, 콘솔 애플리케이션, 클라우드 서비스 등 다양한 유형의 애플리케이션을 구축하는 데 사용된다. ASP.NET Core는 웹 개발을 위한 프레임워크로, .NET Core의 주요 구성 요소 중 하나이다. 초기 버전은 주로 명령줄 인터페이스 도구와 서버 측 개발에 중점을 두었으나, 버전 3.0부터는 Windows Forms 및 WPF와 같은 데스크톱 GUI 프레임워크도 지원하기 시작했다.
.NET Core는 .NET 5부터 단일 통합 플랫폼인 ".NET"으로 진화하였다. 이 통합으로 인해 .NET Core라는 브랜드 명칭은 더 이상 사용되지 않지만, 그 기술 기반과 크로스 플랫폼 철학은 현재의 .NET 플랫폼에 그대로 계승되었다. 이는 마이크로소프트의 오픈 소스 및 다중 플랫폼 지원 전략의 핵심적인 변화를 상징한다.
.NET Framework는 마이크로소프트가 개발한 원조 .NET 구현체이다. 주로 Windows 운영 체제에서 실행되도록 설계된 소프트웨어 프레임워크로, C#, Visual Basic .NET, F# 등 다양한 언어로 애플리케이션을 개발하고 실행할 수 있는 환경을 제공한다. 이는 공용 언어 런타임(CLR)과 방대한 클래스 라이브러리(FCL)로 구성되어 있으며, 관리 코드의 실행, 메모리 관리, 보안 서비스를 담당한다.
초기에는 마이크로소프트의 독점 기술이었으나, 이후 .NET Foundation의 관리 하에 핵심 구성 요소가 오픈 소스로 공개되었다. 주력 개발 언어는 C#이며, Windows Forms 및 WPF(Windows Presentation Foundation)와 같은 풍부한 GUI 라이브러리를 통해 데스크톱 애플리케이션 개발에 널리 사용되었다. 또한 ASP.NET을 통한 웹 애플리케이션 개발도 주요 용도 중 하나이다.
버전 4.8을 마지막으로 새로운 기능 개발이 중단되었으며, 이후의 혁신과 크로스 플랫폼 지원은 .NET Core 및 통합된 .NET 플랫폼으로 이어졌다. 그러나 수많은 기존 윈도우 애플리케이션이 이 프레임워크에 의존하고 있어 여전히 중요한 런타임으로 자리 잡고 있다.
Mono는 .NET Framework의 오픈 소스, 크로스 플랫폼 구현체이다. 원래는 윈도우 외의 운영체제에서 .NET 애플리케이션을 실행하기 위해 개발되었으며, 리눅스와 macOS를 주요 플랫폼으로 지원했다. 이 프로젝트는 Xamarin에 의해 주도되다가, Xamarin이 마이크로소프트에 인수된 후 .NET Foundation의 관리 하에 들어갔다.
Mono는 C#과 공용 중간 언어를 실행할 수 있는 자체 런타임과 컴파일러를 제공하며, .NET Framework의 클래스 라이브러리 상당 부분을 재구현했다. 이를 통해 개발자는 윈도우에서 개발한 코드를 별도의 수정 없이 다른 운영체제에서 실행할 수 있는 가능성을 열어주었다. Mono는 특히 Unity 게임 엔진과 Xamarin 모바일 애플리케이션 프레임워크의 기반 런타임으로 널리 사용되었다.
그러나 .NET Core가 등장하며 상황이 변했다. .NET Core 역시 크로스 플랫폼을 지향하는 공식 구현체로 출시되며, 마이크로소프트의 개발 주력이 이쪽으로 완전히 이동했다. 이에 따라 Mono는 더 이상 독자적인 진화를 지속하지 않게 되었고, 실질적인 신규 개발은 중단된 상태이다. 현재 Mono 런타임은 주로 레거시 유지보수와 호환성, 그리고 와인 프로젝트와의 연동을 위해 관리되고 있다.
결과적으로 Mono는 .NET 생태계가 크로스 플랫폼으로 나아가는 데 중요한 초석을 제공한 런타임이지만, 현재는 .NET의 통합된 발전 경로인 .NET 5 이상 버전에 그 자리를 내주었다.
UWP는 유니버설 윈도우 플랫폼의 약자로, 마이크로소프트가 윈도우 10 및 이후 버전을 위해 도입한 애플리케이션 개발 및 실행 플랫폼이다. 이 플랫폼의 핵심 목표는 하나의 애플리케이션 코드베이스로 다양한 윈도우 디바이스군(PC, 태블릿, 스마트폰, 엑스박스, 홀로렌스 등)에서 동작하는 앱을 만들 수 있도록 하는 것이었다. UWP 앱은 윈도우 런타임을 기반으로 하며, C#, Visual Basic .NET, C++ 등으로 개발할 수 있다.
UWP는 샌드박스 환경에서 실행되어 시스템 리소스에 대한 접근이 제한되며, 모든 파일 및 설정 접근은 선언적 권한(캡퍼빌리티)을 통해 통제된다. 앱은 마이크로소프트 스토어를 통해 배포 및 업데이트되도록 설계되었으며, 터치 입력에 최적화된 모던 UI 디자인 언어를 채택했다. 또한 윈도우 10 모바일과의 통합을 통해 컨티뉴엄과 같은 크로스 디바이스 경험을 제공하는 데 중점을 두었다.
하지만 UWP는 개발자 커뮤니티로부터 폐쇄적인 생태계와 기존 Win32 애플리케이션에 비해 제한된 API 접근성 때문에 광범위한 채택을 얻지 못했다. 시간이 지나며 마이크로소프트는 윈도우 앱 SDK 및 WinUI와 같은 새로운 프레임워크를 통해 UWP의 개념을 확장하고 Win32와의 경계를 허물기 시작했다. 결과적으로 새로운 Windows Forms나 WPF 프로젝트보다는 UWP를 시작점으로 선택하는 경우는 크게 줄어들었다.
특징 | 설명 |
|---|---|
개발 모델 | |
배포 채널 | 주로 마이크로소프트 스토어 |
디자인 언어 | Fluent Design System (구 모던 UI) |
주요 지원 디바이스 | PC, 태블릿, 엑스박스, IoT (윈도우 10 모바일은 지원 중단) |
.NET Standard는 서로 다른 .NET 구현체들(.NET Framework, .NET Core, Mono, Xamarin 등) 간에 공통적으로 사용할 수 있는 API의 공식 사양이다. 이 표준은 라이브러리 개발자가 특정 .NET 구현체에 종속되지 않고, 넓은 범위의 플랫폼(Windows, Linux, macOS, iOS, Android 등)에서 동작하는 재사용 가능한 라이브러리를 만들 수 있도록 해준다. 즉, .NET Standard 버전을 타겟으로 빌드된 라이브러리는 해당 버전을 지원하는 모든 .NET 런타임에서 사용할 수 있다.
.NET Standard는 버전 번호를 가지며, 각 버전은 이전 버전의 모든 API를 포함하면서 새로운 API를 추가하는 방식으로 진화했다. 예를 들어, .NET Standard 2.0은 1.6 버전에 비해 상당히 많은 기본 클래스 라이브러리(BCL) API를 포함하여 기존 .NET Framework 라이브러리와의 호환성을 크게 향상시켰다. 주요 .NET 구현체별 지원 버전은 다음과 같다.
.NET 구현체 | 지원하는 .NET Standard 버전 |
|---|---|
1.4–2.0 | |
1.0–2.1 | |
1.4–2.1 | |
1.4–2.1 | |
1.4–2.1 |
그러나 .NET 5부터는 .NET Core를 기반으로 하는 통합 플랫폼 전략이 채택되면서 .NET Standard의 필요성이 줄어들었다. 새로운 단일 .NET 플랫폼 자체가 크로스플랫폼을 지원하기 때문이다. 이에 따라 마이크로소프트는 .NET Standard 2.1을 마지막 버전으로 개발을 중단했다. 다만, 기존 .NET Standard 2.0 또는 2.1을 타겟으로 만든 라이브러리는 새로운 .NET 5 이상 버전을 포함한 여전히 광범위한 환경에서 계속 사용할 수 있다.
.NET Native AOT는 .NET 코드를 네이티브 코드로 직접 컴파일하는 기능이다. 기존 .NET 애플리케이션은 CIL로 컴파일된 후 실행 시 JIT 컴파일러에 의해 기계어로 변환되는 반면, AOT 컴파일은 빌드 시점에 대상 운영 체제와 CPU 아키텍처에 맞는 실행 파일을 생성한다. 이 방식은 런타임에 코드를 해석하거나 컴파일할 필요가 없어 애플리케이션의 시작 속도와 메모리 사용량을 크게 개선한다.
이 기술의 주요 장점은 별도의 .NET 런타임 설치 없이 단일 실행 파일로 배포가 가능하다는 점이다. 이는 컨테이너 이미지 크기를 줄이고, 콜드 스타트 시간을 최소화하는 데 유리하여 클라우드 네이티브 및 엣지 컴퓨팅 환경에 적합하다. 또한 네이티브 코드로 컴파일되므로 기존 C++ 또는 Rust로 작성된 프로그램에 준하는 성능과 더 낮은 메모리 풋프린트를 기대할 수 있다.
그러나 AOT 컴파일은 몇 가지 제한 사항을 동반한다. 리플렉션이나 동적 코드 생성처럼 런타임에 타입 정보에 의존하는 기능의 사용이 제한될 수 있다. 또한 각기 다른 플랫폼(Windows, Linux, macOS)과 프로세서(x64, ARM64)용으로 별도로 컴파일해야 하므로 크로스 플랫폼 빌드 파이프라인이 더 복잡해질 수 있다. .NET 7에서 처음 도입될 당시 지원 대상이 제한적이었으나, .NET 8부터는 Android, iOS, tvOS 등 모바일 및 임베디드 플랫폼으로 그 지원 범위가 확대되었다.
현재 Windows Forms와 WPF 같은 일부 기존 UI 프레임워크는 완전히 지원되지 않아, AOT로 빌드하려는 개발자는 Avalonia UI나 Uno Platform 같은 대체 크로스 플랫폼 프레임워크를 고려해야 한다. 이 기술은 고성능이 요구되는 마이크로서비스, CLI 도구, 그리고 특정 하드웨어에서 실행되는 네이티브 애플리케이션 개발에 점차 활용도가 높아지고 있다.
.NET 생태계의 발전 과정에서 몇 가지 논란과 사건이 발생했다. 그중 가장 주목받은 사건은 .NET 6.0 출시 직전에 벌어진 핫 리로드 기능 삭제 시도였다.
2021년 10월, .NET 6.0 정식 출시를 약 3주 앞두고 마이크로소프트 개발팀은 오픈 소스로 제공되던 dotnet watch 도구의 핫 리로드 기능을 코드베이스에서 갑자기 제거하는 병합 요청을 승인했다. 이 기능은 개발자가 코드를 수정한 후 애플리케이션을 재시작하지 않고도 변경 사항을 즉시 적용해 볼 수 있게 해주는 중요한 개발자 경험 도구였다. 이 소식이 개발자 커뮤니티에 알려지자, 특히 GitHub와 트위터를 중심으로 강한 반발이 일어났다.
당시 유출된 내부 메시지를 통해, 이 기능을 Visual Studio와 같은 상용 IDE로 옮기려는 의도가 있었던 것으로 추정되었다. 이는 공개적으로 사용 가능했던 기능을 제한하려는 시도로 비춰졌다. 전 세계 .NET 개발자들의 강력한 항의에 직면한 마이크로소프트는 결국 3일 만에 입장을 번복했고, 해당 기능을 복원하는 병합 요청이 승인되어 .NET 6.0에 핫 리로드 기능이 그대로 포함되어 출시될 수 있었다. 이 사건은 오픈 소스 프로젝트에서 커뮤니티의 목소리가 얼마나 중요한지 보여주는 사례가 되었다.
한편, .NET의 통합 과정에서 .NET Framework의 장기적인 미래에 대한 우려도 지속적으로 제기되어 왔다. 마이크로소프트는 .NET 5부터 .NET Core, Xamarin, Mono 등을 단일 플랫폼으로 통합하는 전략을 발표했으며, 기존 .NET Framework의 신규 기능 개발은 사실상 중단되었다. 이로 인해 많은 기업이 기존 윈도우 폼 또는 WPF 애플리케이션을 새로운 크로스 플랫폼 환경으로 이전해야 하는 부담을 안게 되었다. 또한, .NET Standard의 개발 중단 발표는 다양한 런타임 간 호환성을 위한 표준의 진화가 멈췄음을 의미하며, 라이브러리 개발자들에게 새로운 고민을 안겼다.