다음을 통해 공유


Windows 런타임 구성 요소

Windows 런타임 구성 요소는 모든 Windows 런타임 언어(C#, C++/WinRT, Visual Basic, JavaScript 및 C++/CX 포함)를 사용하여 작성, 참조 및 사용할 수 있는 자체 포함 소프트웨어 모듈입니다. Visual Studio를 사용하여 Windows 앱 SDK를 사용하는 앱 또는 UWP(유니버설 Windows 플랫폼) 앱에서 사용할 수 있는 Windows 런타임 구성 요소를 만들 수 있습니다.

참고 항목

C++ 개발자의 경우 새로운 애플리케이션에 C++/WinRT를 사용하는 것이 좋습니다. C++/WinRT는 헤더 파일 기반 라이브러리로 구현된 WinRT(Windows 런타임) API용 최신의 완전한 표준 C++17 언어 프로젝션이며, 최신 Windows API에 최고 수준의 액세스를 제공하도록 설계되었습니다. C++/WinRT를 사용하여 Windows 런타임 구성 요소를 만드는 방법에 자세한 내용은 C++/WinRT를 사용한 Windows 런타임 구성 요소를 참조하세요.

참고 항목

.NET 6 이상에서 데스크톱 앱을 작성하는 C# 개발자의 경우 C#/WinRT를 사용하여 Windows 런타임 구성 요소를 작성합니다. C#/WinRT를 사용하여 Windows 런타임 구성 요소 작성을 참조하세요.

토픽 설명
C++/WinRT를 사용한 Windows 런타임 구성 요소 이 항목에서는 C++/WinRT를 사용하여 Windows 런타임 언어로 빌드된 유니버설 Windows 앱에서 호출할 수 있는 구성 요소인 Windows 런타임 구성 요소를 만들고 사용하는 방법을 보여 줍니다.
C++/CX가 포함된 Windows 런타임 구성 요소 이 항목에서는 C++/CX를 사용하여 Windows 런타임 언어를 통해 빌드된 유니버설 Windows 앱에서 호출할 수 있는 구성 요소인 Windows 런타임 구성 요소를 만드는 방법을 보여줍니다.
C++/CX Windows 런타임 구성 요소를 만들고 JavaScript 또는 C#에서 호출하는 연습 이 연습에서는 JavaScript, C# 또는 Visual Basic에서 호출할 수 있는 기본 Windows 런타임 구성 요소 DLL을 만드는 방법을 보여 줍니다. 이 연습을 시작하려면 먼저 쉽게 ref 클래스를 사용할 수 있게 해주는 ABI(추상 이진 인터페이스), ref 클래스, Visual C++ 구성 요소 확장 등의 개념을 이해해야 합니다. 자세한 내용은 C++로 Windows 런타임 구성 요소 만들기Visual C++ 언어 참조(C++/CX)를 참조하세요.
C# 및 Visual Basic이 포함된 Windows 런타임 구성 요소 관리 코드를 사용하여 Windows 런타임 구성 요소에 패키지된 고유한 Windows 런타임 형식을 만들 수 있습니다. UWP(유니버설 Windows 플랫폼) 앱의 구성 요소를 C++, JavaScript, Visual Basic 또는 C#과 함께 사용할 수 있습니다. 이 항목에서는 구성 요소 만들기 규칙에 대해 간략히 설명하고, Windows 런타임에 대한 .NET 지원의 몇 가지 측면에 대해 설명합니다. 일반적으로 이 지원은 .NET 프로그래머에게 투명하게 디자인되었습니다. 그러나 JavaScript 또는 C++를 사용하는 구성 요소를 만들 때는 이러한 언어와 Windows 런타임을 지원하는 방식의 차이점을 알아야 합니다.
C# 또는 Visual Basic Windows 런타임 구성 요소를 만들고 JavaScript에서 호출하는 연습 이 연습에서는 Visual Basic 또는 C#과 함께 .NET을 사용하여 Windows 런타임 구성 요소로 패키지된 고유한 Windows 런타임 형식을 만드는 방법 및 JavaScript를 사용하여 Windows용으로 빌드된 유니버설 Windows 앱에서 구성 요소를 호출하는 방법을 보여 줍니다.
Windows 런타임 구성 요소에서 이벤트 발생 Windows 런타임 구성 요소가 백그라운드 스레드(작업자 스레드)에서 사용자 정의 대리자 형식의 이벤트를 발생시키고, JavaScript가 이벤트를 받을 수 있게 하려는 경우 다음 방법 중 하나로 구현 및/또는 발생시킬 수 있습니다.