Share via


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 App SDKWinUI3를 포함한 데스크톱 애플리케이션 시나리오를 지원하기 위한 것입니다.

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

자세한 내용을 알아보고 문제를 검색하거나 제출하려면 C#/WinRT Github 리포지토리C#/WinRT 구성 요소 작성을 참조하세요.

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

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

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

참고 항목

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