다음을 통해 공유


C#/WinRT를 사용하여 Windows 런타임 구성 요소 작성

메모

C#/WinRT를 사용하여 Windows 런타임 구성 요소 작성은 .NET 6 이상에서 지원됩니다.

C#/WinRT NuGet 패키지는 C#에서 고유한 Windows 런타임 형식 및 구성 요소를 작성하고 C++/WinRT 또는 Rust 같은 Windows 런타임 호환 언어에서 사용할 수 있도록 지원합니다. C#/WinRT 작성 및 호스팅 지원을 사용하려면 .NET 6 이상 및 Visual Studio 2022 이상이 필요하며, Windows 앱 SDKWinUI3 등의 데스크톱 애플리케이션 시나리오를 지원하기 위한 것입니다.

.NET 6 이상을 사용하여 Windows 런타임 구성 요소를 작성하는 방법과 C++/WinRT 콘솔 애플리케이션에서 사용하는 방법을 보여 주는 연습은 Walkthrough: C#/WinRT 구성 요소 만들기 및 C++/WinRT를 참조하세요.

자세한 내용을 확인하고 문제를 검색하거나 제출하려면 C#/WinRT GitHub 리포지토리C#/WinRT 구성 요소 인증 참조하세요.

Windows 런타임 구성 요소에서 형식 선언

Windows 런타임 구성 요소를 작성하는 동안 Windows 런타임 구성 요소에 대한 기존 UWP 설명서에 설명된 지침 및 형식 제한 사항을 따릅니다(C# 및 Visual Basic Windows 런타임 구성 요소 참조). 구성 요소는 대부분의 경우 다른 C# 라이브러리처럼 구현될 수 있습니다. 그러나 Windows 런타임에 노출되고 다른 사용자가 사용할 수 있도록 생성된 .winmd 내에서 선언되는 구성 요소의 공용 형식에는 제한이 있습니다.

외부에서는 매개 변수 및 반환 값에 대한 Windows 런타임 형식만 노출할 수 있습니다. 기본 제공 C# 형식은 .NET 형식에서 WinRT로 매핑하는 경우(C#/WinRT WinRT 형식의 .NET 매핑 참조) 구성 요소의 공용 화면의 일부로 사용할 수 있으며 해당 Windows 런타임 형식으로 구성 요소 사용자에게 표시됩니다. 다른 Windows 런타임 구성 요소 및 Windows SDK의 Windows 런타임 형식을 in 매개 변수, 반환 형식 및 클래스 상속과 같은 구성 요소의 공용 구현의 일부로 사용할 수도 있습니다.

메모

.NET 형식에 매핑되는 몇 가지 Windows 런타임 형식이 있습니다(C#/WinRT WinRT 형식의 .NET 매핑 참조). 이러한 .NET 형식은 Windows 런타임 구성 요소의 공용 인터페이스에서 사용할 수 있으며 해당 Windows 런타임 형식으로 구성 요소 사용자에게 표시됩니다.