문서의 각 단락이 어느 리비전에서 마지막으로 수정되었는지 확인할 수 있습니다. 왼쪽의 정보 칩을 통해 작성자와 수정 시점을 파악하세요.

닷넷 프레임워크 | |
종류 | 프레임워크 |
개발사 | 마이크로소프트 |
라이선스 | MIT 라이선스 |
주요 지원 언어 | C# Visual Basic .NET F# |
주요 지원 플랫폼 | Windows Linux macOS |
관리 주체 | .NET Foundation[1] |
상세 정보 | |
관련 기술 및 라이브러리 | .NET Core .NET Standard Windows Forms WPF UWP Xamarin .NET MAUI ASP.NET ML.NET |
주요 런타임 | .NET Core .NET Framework Mono UWP |

닷넷 프레임워크는 마이크로소프트가 개발한 프로그램 개발 및 실행 환경이다. 원래는 윈도우 환경 전용의 클로즈드 소스 프레임워크로 시작했으나, 현재는 닷넷 재단이 관리하는 오픈 소스 프로젝트로 발전했다. MIT 라이선스로 제공되며, C#, 비주얼 베이직 닷넷, F# 등 다양한 언어를 지원한다.
초기에는 윈도우에서만 실행 가능했으나, 현대의 닷넷은 리눅스와 macOS를 포함한 크로스 플랫폼을 광범위하게 지원한다. 이는 닷넷 코어 프로젝트를 통해 본격화된 변화로, 단일 코드베이스로 여러 운영체제용 애플리케이션을 개발할 수 있는 기반을 마련했다.
닷넷의 핵심 구성 요소로는 프로그램 실행을 관리하는 공통 언어 런타임과 광범위한 기능을 제공하는 기본 클래스 라이브러리가 있다. 소스 코드는 공용 중간 언어로 컴파일되어 다양한 플랫폼에서 실행될 수 있다.
주요 응용 프레임워크로는 웹 애플리케이션 개발을 위한 ASP.NET, 데스크톱 GUI 애플리케이션을 위한 윈도우 폼과 WPF, 그리고 최신 크로스 플랫폼 UI 프레임워크인 닷넷 MAUI 등이 있다. 이러한 진화를 통해 닷넷은 서버, 데스크톱, 모바일, 클라우드에 이르는 광범위한 애플리케이션 개발을 지원하는 통합 플랫폼으로 자리 잡았다.

닷넷 프레임워크의 지원 플랫폼은 그 발전 과정에 따라 크게 변화해왔다. 초기 .NET Framework는 마이크로소프트의 독점 기술로, 윈도우 운영 체제에만 종속되어 있었다. 이는 주로 데스크톱 애플리케이션과 웹 애플리케이션(ASP.NET)을 윈도우 환경에서 구축하기 위한 목적이 강했다.
이후 크로스 플랫폼 지원에 대한 요구가 높아지면서, .NET Core가 등장하며 지원 범위가 확장되었다. .NET Core는 오픈 소스로 전환되면서 리눅스와 macOS를 공식적으로 지원하기 시작했으며, 이는 서버 측 애플리케이션과 마이크로서비스 아키텍처 개발에 큰 전환점이 되었다. 현재는 .NET 5 이상의 통합 플랫폼이 이러한 크로스 플랫폼 지원을 계승하고 있다.
주요 지원 플랫폼은 다음과 같다.
운영 체제 | 주요 지원 배포판/버전 (예시) |
|---|---|
Windows | Windows 10 이상, Windows Server 2012 이상 |
Linux | Ubuntu, RHEL, Fedora, Debian, Alpine Linux 등 |
macOS | 최신 버전 및 이전 LTS 버전 |
이러한 광범위한 플랫폼 지원은 .NET Foundation이 관리하는 오픈 소스 생태계 덕분에 가능해졌으며, 개발자는 동일한 코드 베이스로 다양한 환경을 대상으로 하는 애플리케이션을 개발할 수 있다. 또한 Docker 컨테이너와의 통합도 원활히 지원되어 현대적인 클라우드 네이티브 개발의 핵심 도구로 자리 잡았다.

닷넷 프레임워크는 다중 프로그래밍 언어를 지원하는 플랫폼이다. 마이크로소프트가 직접 개발하고 공식 지원하는 주요 언어로는 C#, Visual Basic .NET, F#이 있다. 이 세 언어는 닷넷 생태계의 핵심을 이루며, 각각 다른 프로그래밍 패러다임과 용도를 위해 설계되었다. C#은 C++ 및 자바의 영향을 받아 객체지향과 함수형 프로그래밍을 모두 지원하는 범용 언어로, 닷넷 개발에서 가장 널리 사용된다. Visual Basic .NET은 명료하고 쉬운 구문을 지향하는 언어이며, F#은 함수형 프로그래밍에 특화되어 과학 계산 및 데이터 분석에 강점을 보인다.
닷넷 프레임워크 초기에는 C++/CLI와 J#과 같은 추가 언어도 지원했으나, 현재는 주류 개발에서 거의 사용되지 않는다. 또한 동적 언어 런타임을 통해 IronPython이나 IronRuby와 같은 동적 언어를 실행할 수 있는 기반을 제공하기도 했다. 이는 닷넷 플랫폼이 다양한 프로그래밍 스타일과 기존 언어 생태계를 수용할 수 있는 유연성을 가짐을 보여준다.
현대의 통합된 닷넷 코어 및 이후 버전(.NET 5 이상)에서는 C#, Visual Basic .NET, F#이 계속 주요 언어로 자리 잡고 있다. 특히 C#은 활발하게 발전하며 최신 언어 기능을 지속적으로 도입하고 있다. 이러한 다언어 지원은 공용 언어 런타임과 공용 중간 언어라는 통합된 실행 환경 위에서 가능해진다.

.NET Framework는 마이크로소프트가 개발한 원조 닷넷 구현체이다. 이 프레임워크는 주로 윈도우 운영 체제에서 실행되는 데스크톱 및 웹 애플리케이션을 구축하기 위한 포괄적인 프로그래밍 모델과 런타임 환경을 제공한다. C#, Visual Basic .NET, F# 등 여러 언어를 지원하며, 공통 언어 런타임과 방대한 기본 클래스 라이브러리를 핵심 구성 요소로 갖추고 있다.
이 프레임워크는 ASP.NET 웹 프레임워크, Windows Forms, WPF 같은 풍부한 GUI 라이브러리들을 포함하여 전통적인 윈도우 애플리케이션 개발의 근간이 되어왔다. 버전 1.0부터 시작하여 4.8.1까지 꾸준히 발전했으며, 각 버전마다 새로운 API와 성능 개선이 추가되었다. 현재는 새로운 크로스 플랫폼 구현체인 .NET Core와 이후의 통합된 .NET에 자리를 내주었으며, 더 이상의 주요 업데이트는 이루어지지 않는다.
.NET Framework의 최종 버전은 4.8.1이며, 이는 최신 윈도우 11 및 윈도우 서버 버전에 기본 포함되어 있다. 기존의 .NET Framework 애플리케이션은 호환성을 유지하며 계속 실행될 수 있지만, 새로운 애플리케이션 개발에는 크로스 플랫폼을 지원하는 현대적인 .NET 플랫폼의 사용이 권장된다.
.NET Core는 마이크로소프트가 개발한 크로스 플랫폼 오픈 소스 프레임워크이다. 기존 .NET Framework가 윈도우 운영 체제에 종속된 한계를 극복하기 위해 설계되었으며, 닷넷 재단이 관리하는 오픈 소스 프로젝트로 발전했다. 주요 목표는 윈도우, 리눅스, macOS를 포함한 다양한 플랫폼에서 고성능 웹 애플리케이션, 클라우드 서비스, 콘솔 애플리케이션을 개발하고 실행할 수 있는 통합 플랫폼을 제공하는 것이다.
이 프레임워크는 모듈화와 경량화를 중점으로 설계되어, 애플리케이션에 필요한 구성 요소만 포함시킬 수 있어 배포 크기가 작고 효율적이다. C#, Visual Basic .NET, F# 등 여러 언어를 지원하며, MIT 라이선스 하에 배포되어 자유롭게 사용, 수정, 배포할 수 있다. 개발 도구로는 Visual Studio와 .NET CLI를 활용할 수 있다.
버전 역사를 살펴보면, .NET Core 1.0이 2016년에 처음 출시된 이후 빠르게 발전했다. 특히 3.0 버전부터는 윈도우 폼과 WPF를 지원하여 데스크톱 애플리케이션 개발 영역도 확장했다. .NET Core는 .NET 5를 기점으로 통합된 단일 플랫폼인 ".NET"으로 진화했으며, 이후 버전인 .NET 6 이상의 기반이 되었다.
.NET 5 이상은 마이크로소프트의 통합된 플랫폼 전략을 구현한 버전으로, 기존의 .NET Framework, .NET Core, Xamarin 등이 분리되어 있던 구조를 하나의 통합된 .NET으로 합친 것이다. 이는 크로스 플랫폼 개발을 더욱 간소화하고, 향후 모든 새로운 기능과 개선 사항이 단일 코드베이스에서 제공되도록 하는 것이 목표이다. 이 통합 이후 버전은 더 이상 'Core'라는 접미사를 사용하지 않으며, 윈도우, 리눅스, macOS를 포함한 다양한 운영 체제를 공식적으로 지원한다.
이 버전들은 MIT 라이선스 하에 .NET Foundation이 관리하는 오픈 소스 프로젝트로 개발되며, C#, Visual Basic .NET, F# 등 여러 언어를 지원한다. 출시 주기는 매년 11월에 새로운 메이저 버전이 공개되며, 짝수 버전(예: .NET 6, 8)은 3년간의 장기 지원(LTS)을, 홀수 버전(예: .NET 7, 9)은 2년간의 표준 기간 지원(STS)을 받는다. 주요 개선 사항으로는 .NET Native AOT 컴파일을 통한 성능 향상, ARM64 아키텍처에 대한 네이티브 지원 확대, 그리고 .NET MAUI와 같은 새로운 크로스 플랫폼 UI 프레임워크의 도입이 있다.
버전 | 출시 연도 | 주요 특징 |
|---|---|---|
.NET 5 | 2020 | 통합 플랫폼의 첫 번째 버전. C# 9 지원. |
.NET 6 | 2021 | LTS 버전. .NET MAUI 도입, 성능 대폭 향상. |
.NET 7 | 2022 | .NET Native AOT 정식 도입, C# 11 지원. |
.NET 8 | 2023 | LTS 버전. AOT 지원 범위 확대(안드로이드, iOS 등). |
.NET 9 | 2024 | STS 버전. 성능 및 CLI 도구 개선. |
이러한 통합과 지속적인 업데이트를 통해, 개발자는 서버, 데스크톱, 모바일, 클라우드 등 다양한 대상 플랫폼에 대해 일관된 API와 도구 체인(.NET CLI, Visual Studio)을 사용하여 애플리케이션을 구축할 수 있게 되었다.

공통 언어 런타임(CLR)은 닷넷 플랫폼의 핵심 실행 엔진이다. 마이크로소프트가 개발한 이 런타임은 C#, Visual Basic .NET, F# 등 다양한 언어로 작성된 코드를 실행하는 가상 머신 역할을 한다. CLR은 메모리 관리, 예외 처리, 가비지 컬렉션, 보안 및 스레드 관리와 같은 핵심 서비스를 제공하여 개발자가 플랫폼의 하위 수준 세부 사항보다는 애플리케이션 로직 자체에 집중할 수 있게 한다.
소스 코드는 각 언어의 컴파일러를 거쳐 CIL(공용 중간 언어)이라는 중간 코드로 컴파일된다. 이 CIL 코드는 플랫폼에 독립적인 형태로, 실행 시점에 CLR의 JIT 컴파일러에 의해 대상 시스템의 네이티브 기계어 코드로 실시간 변환되어 실행된다. 이 과정을 통해 윈도우, 리눅스, macOS 등 다양한 운영 체제에서 동일한 닷넷 어셈블리를 실행할 수 있는 크로스 플랫폼 호환성이 실현된다.
CLR의 아키텍처는 안전하고 안정적인 실행 환경을 보장하도록 설계되었다. 형식 안전성 검사, 코드 액세스 보안 등의 기능을 통해 런타임 시 발생할 수 있는 많은 오류를 사전에 방지한다. 또한 닷넷 프레임워크와 닷넷 코어를 거쳐 현재의 통합된 닷넷 플랫폼에 이르기까지, CLR은 지속적으로 성능과 기능이 향상되어 왔다.
이 런타임은 기본 클래스 라이브러리(BCL)와 긴밀하게 통합되어 작동하며, ASP.NET, Windows Forms, WPF와 같은 주요 API 및 프레임워크들의 기반을 제공한다. 현재는 닷넷 재단이 관리하는 오픈 소스 프로젝트의 일부로 발전하여 커뮤니티의 기여를 통해 지속적으로 진화하고 있다.
기본 클래스 라이브러리는 닷넷 플랫폼의 핵심 구성 요소 중 하나로, 공통 언어 런타임 위에서 실행되는 모든 응용 프로그램이 공통으로 사용할 수 있는 방대한 클래스와 인터페이스, 값 형식의 집합체이다. 이 라이브러리는 파일 입출력, 문자열 조작, 데이터베이스 연결, 네트워킹, 암호화 등 개발에 필요한 거의 모든 기본 기능을 제공하여, 개발자가 반복적으로 구현해야 하는 저수준 작업을 직접 처리하지 않고도 효율적으로 애플리케이션을 구축할 수 있게 한다.
BCL은 닷넷 프레임워크, 닷넷 코어, 그리고 현대의 통합된 닷넷 플랫폼에 이르기까지 모든 구현체의 기반을 이루며, 높은 수준의 일관성과 생산성을 보장한다. 예를 들어, System.IO 네임스페이스는 파일 시스템 작업을, System.Net 네임스페이스는 네트워크 통신을, System.Collections.Generic은 제네릭 컬렉션을 제공한다. 이러한 표준화된 API 덕분에 개발자는 특정 하드웨어나 운영체제의 세부 사항에 깊이 관여하지 않고도 플랫폼 간 호환성을 유지하며 코드를 작성할 수 있다.
BCL의 설계 철학은 확장성과 재사용성에 있다. 개발자는 BCL이 제공하는 기본 클래스를 그대로 사용하거나 상속받아 새로운 기능을 추가하는 방식으로 자신만의 라이브러리나 프레임워크를 구축할 수 있다. 이는 ASP.NET, Windows Forms, WPF와 같은 상위 수준의 애플리케이션 프레임워크들이 BCL을 토대로 만들어질 수 있었던 근간이 된다. 또한, BCL은 닷넷 스탠다드라는 명세를 통해 다양한 닷넷 구현체 간의 호환성을 정의하는 데 핵심적인 역할을 한다.
CIL(공용 중간 언어)은 닷넷 프레임워크와 .NET Core를 포함한 모든 .NET 구현체의 핵심 중간 표현 언어이다. C#, Visual Basic .NET, F# 등 다양한 .NET 언어로 작성된 소스 코드는 각 언어의 컴파일러를 거쳐 CIL로 변환된다. 이 과정은 자바 가상 머신의 바이트코드 생성과 유사한 개념으로, 플랫폼에 독립적인 중간 코드를 생성하는 것이 목적이다.
생성된 CIL 코드는 EXE 또는 DLL 파일 형태로 패키징되며, 이 파일을 실행할 때 공통 언어 런타임(CLR)의 JIT 컴파일러가 해당 코드를 실시간으로 분석하여 대상 운영 체제와 CPU 아키텍처에 맞는 네이티브 기계어 코드로 변환하여 실행한다. 이는 인터프리터 방식과는 달리, 한 번 변환된 코드는 캐시되어 재사용되므로 성능상의 이점을 제공한다. CIL의 존재 덕분에 개발자는 특정 플랫폼을 고려하지 않고도 윈도우, 리눅스, macOS 등 다양한 환경에서 동작하는 응용 프로그램을 개발할 수 있다.
CIL은 스택 기반의 명령어 집합을 가지며, 고수준의 객체 지향 프로그래밍 개념을 직접 지원한다. 이 언어는 메타데이터와 결합되어 강력한 리플렉션 기능을 가능하게 하며, 서로 다른 .NET 언어 간의 상호 운용성을 보장하는 기반이 된다. 예를 들어, C#으로 작성된 클래스를 Visual Basic .NET 프로젝트에서 참조하여 사용하는 것이 가능한 이유도 모든 코드가 최종적으로 통일된 CIL 형식으로 수렴되기 때문이다.
특징 | 설명 |
|---|---|
플랫폼 독립성 | CIL 코드는 특정 하드웨어나 OS에 종속되지 않는다. |
JIT 컴파일 | 실행 시점에 대상 환경에 맞는 네이티브 코드로 컴파일된다. |
언어 상호운용성 | 다양한 .NET 언어가 동일한 CIL로 컴파일되어 서로 호환된다. |
이러한 중간 언어 체계는 관리 코드의 보안 검증과 메모리 안전성을 용이하게 하지만, 네이티브 코드에 비해 초기 실행 속도에서 약간의 오버헤드가 발생할 수 있다. 이를 극복하기 위해 .NET 네이티브 AOT 컴파일과 같은 기술이 발전해 왔다.

ASP.NET은 마이크로소프트가 개발한 웹 애플리케이션 프레임워크로, 닷넷 프레임워크 및 .NET Core와 그 후속 버전을 기반으로 구축되었다. 초기에는 Windows 서버에서 웹 서버 역할을 하는 IIS와 긴밀하게 통합된 ASP.NET Web Forms로 시작했으나, 시간이 지나며 모듈화되고 크로스 플랫폼을 지원하는 현대적인 웹 개발 플랫폼으로 진화했다. 현재는 닷넷 재단이 관리하는 오픈 소스 프로젝트로, Windows, Linux, macOS 등 다양한 플랫폼에서 실행된다.
주요 구성 요소로는 서버 사이드 렌더링을 위한 MVC 패턴 기반의 ASP.NET Core MVC, 실시간 양방향 통신을 지원하는 SignalR, 그리고 최근 단일 페이지 애플리케이션 개발을 위한 Blazor가 있다. Blazor는 C#과 WebAssembly를 사용하여 클라이언트 측에서 .NET 코드를 실행할 수 있게 해주는 혁신적인 기술이다. 이러한 프레임워크들은 RESTful API 개발, 마이크로서비스 아키텍처, 그리고 클라우드 네이티브 애플리케이션 구축에 널리 사용된다.
개발 도구 측면에서는 Visual Studio와 Visual Studio Code가 강력한 통합 개발 환경을 제공하며, .NET CLI를 통해 명령줄에서도 프로젝트 생성, 빌드, 실행, 게시 등의 작업을 수행할 수 있다. ASP.NET 애플리케이션은 Docker 컨테이너에 패키징되어 Microsoft Azure를 비롯한 다양한 클라우드 플랫폼에 배포될 수 있다.
Windows Forms는 마이크로소프트가 닷넷 프레임워크를 위해 개발한 GUI 애플리케이션 프레임워크이다. 주로 C#과 Visual Basic .NET 언어를 사용하여 윈도우 운영체제용 데스크톱 응용 프로그램을 빠르게 구축하는 데 사용된다. 기존 Win32 API를 기반으로 한 MFC의 복잡성을 대체하며, 비주얼 디자이너를 통한 드래그 앤 드롭 방식의 폼 디자인과 이벤트 기반 프로그래밍 모델을 제공하여 개발 생산성을 크게 향상시켰다.
이 프레임워크는 컨트롤이라는 재사용 가능한 UI 구성 요소(예: 버튼, 텍스트 상자, 데이터 그리드) 라이브러리를 제공한다. 개발자는 이러한 컨트롤을 폼에 배치하고, 속성을 설정하며, 클릭이나 텍스트 변경과 같은 사용자 이벤트에 응답하는 코드를 작성하여 애플리케이션 로직을 구현한다. GDI+를 활용한 그래픽 렌더링을 지원하며, 데이터 바인딩을 통한 데이터베이스 연동에도 널리 사용된다.
초기에는 닷넷 프레임워크의 Windows 전용 구성 요소였으나, 닷넷 코어 3.0 및 이후 통합된 닷넷 플랫폼(5 이상)에서도 공식 지원되면서 크로스 플랫폼 개발이 제한적으로 가능해졌다. 그러나 여전히 완전한 네이티브 크로스 플랫폼 GUI 솔루션보다는 주로 Windows 환경을 타겟으로 하는 데 최적화되어 있다. Windows Forms는 복잡한 그래픽 사용자 인터페이스보다는 비즈니스 로직 중심의 내부용 도구나 기업형 애플리케이션 개발에 강점을 보인다.
Windows Forms의 등장 이후, 마이크로소프트는 보다 현대적이고 유연한 UI 기술로 WPF와 UWP, 그리고 최근에는 .NET MAUI를 발표했다. 이러한 새로운 프레임워크들이 등장했음에도, Windows Forms는 방대한 레거시 코드 베이스와 빠른 개발이 요구되는 프로젝트에서 여전히 중요한 위치를 차지하고 있다.
WPF는 마이크로소프트가 개발한 데스크톱 애플리케이션을 구축하기 위한 UI 프레임워크이다. 닷넷 프레임워크 3.0에서 처음 도입되었으며, 이후 닷넷 코어 3.0부터는 크로스 플랫폼 닷넷 생태계의 일부로도 지원된다. 기존 윈도우 폼이 GDI+에 기반한 단순한 벡터 그래픽을 사용한 반면, WPF는 DirectX를 렌더링 엔진으로 활용하여 하드웨어 가속을 통한 풍부한 시각적 효과와 현대적인 사용자 경험을 제공하는 데 중점을 둔다.
WPF의 핵심 특징은 선언적 마크업 언어인 XAML을 사용하여 애플리케이션의 사용자 인터페이스를 디자인한다는 점이다. 이를 통해 UI 디자인과 비즈니스 로직을 보다 명확하게 분리할 수 있으며, 데이터 바인딩, 스타일, 템플릿, 애니메이션 등 강력한 기능을 제공한다. 특히 벡터 그래픽 기반 렌더링과 해상도 독립성 덕분에 다양한 DPI 설정과 화면 크기에서 선명한 UI를 표현할 수 있다.
주요 지원 언어로는 C#, Visual Basic .NET, F#이 있으며, 주요 지원 플랫폼은 윈도우이다. 원래는 닷넷 프레임워크의 일부였으나, 현재는 닷넷 재단이 관리하는 오픈 소스 프로젝트로, MIT 라이선스 하에 개발되고 있다. WPF는 복잡한 데이터 시각화가 필요한 엔터프라이즈 애플리케이션이나 미디어 기능이 풍부한 데스크톱 소프트웨어를 개발하는 데 널리 사용된다.
.NET MAUI는 마이크로소프트가 개발한 크로스 플랫폼 사용자 인터페이스 프레임워크이다. Xamarin.Forms의 진화된 형태로, 하나의 코드베이스로 Windows, macOS, iOS, Android용 네이티브 애플리케이션을 빌드할 수 있다. C#과 XAML을 사용하여 개발하며, .NET 6 이상의 통합 플랫폼을 기반으로 한다. 이 프레임워크는 오픈 소스 프로젝트로, MIT 라이선스 하에 .NET Foundation이 관리한다.
주요 목표는 개발자가 단일 프로젝트에서 여러 운영 체제를 대상으로 하는 모바일 및 데스크톱 애플리케이션을 효율적으로 만들 수 있도록 하는 것이다. 이를 위해 각 플랫폼의 네이티브 컨트롤과 API를 매핑하는 추상화 계층을 제공한다. Visual Studio와 .NET CLI를 통한 개발을 지원하며, 핫 리로드 기능으로 실시간 코드 변경 사항을 확인할 수 있다.
.NET MAUI는 윈도우 폼이나 WPF와 같은 기존 데스크톱 프레임워크와는 달리, 모바일과 데스크톱을 아우르는 통합된 접근 방식을 취한다. 또한 Blazor를 통합하여 웹 기술을 사용한 하이브리드 앱 개발도 가능하게 한다. 이는 마이크로소프트의 단일 .NET 에코시스템 전략의 핵심 구성 요소 중 하나로 자리 잡고 있다.

.NET Standard는 서로 다른 닷넷 구현체들 사이에서 공통으로 사용할 수 있는 API의 공식적인 명세이다. 이 명세는 특정 런타임이나 프레임워크가 아니라, 모든 닷넷 기반 플랫폼이 준수해야 할 기준을 정의한다. 예를 들어, .NET Framework, .NET Core, Xamarin, Mono와 같은 다양한 구현체가 존재하는 상황에서, .NET Standard를 대상으로 작성된 라이브러리는 이러한 모든 환경에서 호환되어 사용될 수 있다.
주요 목적은 플랫폼 간 코드 재사용성을 극대화하는 것이다. 개발자가 Windows Forms, WPF, ASP.NET 등 특정 플랫폼에 종속된 API를 사용하지 않고 .NET Standard 버전에 정의된 API만을 사용해 라이브러리를 개발하면, 해당 라이브러리는 표준 버전을 지원하는 모든 닷넷 구현체에서 문제 없이 동작한다. 이는 크로스 플랫폼 개발과 오픈 소스 라이브러리 생태계 구축에 핵심적인 역할을 했다.
.NET Standard 버전 | 지원하는 주요 .NET 구현체 예시 |
|---|---|
1.0 - 1.6 | .NET Framework 4.5+, .NET Core 1.0, Mono 4.6, Xamarin.iOS 10.0 |
2.0 | .NET Framework 4.6.1+, .NET Core 2.0+, Mono 5.4, Xamarin.iOS 10.14 |
2.1 | .NET Core 3.0+, .NET 5+, Mono 6.4, Xamarin.iOS 12.16 |
.NET 5부터 마이크로소프트는 .NET Framework와 .NET Core를 통합한 단일 플랫폼 전략을 채택하면서, .NET Standard의 개발을 2.1 버전으로 종료했다. 그러나 기존 .NET Standard 라이브러리들은 이후 출시되는 .NET 버전에서 계속 호환성을 유지하며 지원될 예정이다.

Visual Studio는 마이크로소프트가 개발한 통합 개발 환경(IDE)으로, 닷넷 프레임워크 및 닷넷 코어를 포함한 .NET 플랫폼 애플리케이션 개발을 위한 핵심 도구이다. 주로 C#, Visual Basic .NET, F#과 같은 닷넷 언어를 지원하며, Windows Forms, WPF, ASP.NET 등 다양한 프레임워크를 활용한 데스크톱, 웹, 모바일 애플리케이션 개발을 가능하게 한다.
이 IDE는 코드 편집기, 디버거, GUI 디자이너, 성능 프로파일러, 데이터베이스 관리 도구 등 강력한 기능 세트를 제공한다. 특히 .NET 생태계와의 긴밀한 통합을 통해 프로젝트 템플릿, NuGet 패키지 관리, 원클릭 배포 등의 편의성을 개발자에게 제공한다. Visual Studio Code라는 경량 버전도 존재하여, 확장 기능을 통해 .NET 개발을 지원한다.
주요 버전은 유료인 Professional, Enterprise 버전과 무료 커뮤니티 버전으로 나뉜다. 커뮤니티 버전은 개인 개발자, 오픈 소스 프로젝트, 학술 연구 등에 무료로 사용할 수 있어 접근성을 높였다. 최신 버전에서는 .NET MAUI를 이용한 크로스 플랫폼 앱 개발과 클라우드 서비스 통합 기능도 강화되고 있다.
.NET CLI는 닷넷 애플리케이션을 개발, 빌드, 실행 및 게시하기 위한 크로스 플랫폼 명령줄 인터페이스 도구이다. 이 도구는 Visual Studio와 같은 통합 개발 환경 없이도 모든 운영 체제의 터미널에서 닷넷 프로젝트를 관리할 수 있는 기능을 제공한다. .NET Core와 함께 도입되어 .NET 5 이상의 통합 플랫폼에서도 계속 핵심 개발 도구로 사용되고 있다.
주요 명령어로는 새 프로젝트를 생성하는 dotnet new, 애플리케이션을 실행하는 dotnet run, 의존성을 복원하는 dotnet restore, 프로젝트를 빌드하는 dotnet build, 그리고 실행 파일을 게시하는 dotnet publish 등이 있다. 특히 dotnet watch 명령어는 소스 코드 변경을 감지하여 애플리케이션을 자동으로 다시 빌드하고 실행하는 핫 리로드 기능을 지원하여 개발 생산성을 높여준다.
.NET CLI는 Windows, Linux, macOS를 포함한 다양한 플랫폼에서 동일하게 작동하며, C#, F#, Visual Basic .NET 프로젝트를 모두 지원한다. 이 도구는 스크립트 자동화와 CI/CD 파이프라인에 쉽게 통합될 수 있어 현대적인 소프트웨어 개발 워크플로우에서 중요한 역할을 한다.
