Freigeben über


Erstellen von Windows-Runtime-Komponenten mit C#/WinRT

Hinweis

Das Erstellen von Komponenten für Windows-Runtime mit C#/WinRT wird unter .NET 6 und höher unterstützt.

Das C#/WinRT NuGet-Paket bietet Unterstützung für die Erstellung Ihrer eigenen Windows-Runtime-Typen und -Komponenten in C# und die Verwendung von Windows-Runtime-kompatiblen Sprachen wie C++/WinRT oder Rust. C#/WinRT-Erstellungs- und Hostingunterstützung erfordert .NET 6 und Visual Studio 2026 und soll Desktopanwendungsszenarien wie das Windows App SDK und WinUI3 unterstützen.

Eine Schritt-für-Schritt-Anleitung, wie man eine Windows-Runtime-Komponente mit .NET 6 erstellt und sie aus einer C++/WinRT-Konsolenanwendung nutzt, finden Sie unter Walkthrough: Create a C#/WinRT component and consume it from C++/WinRT.

Weitere Details und informationen zum Suchen oder Ablegen von Problemen finden Sie im C#/WinRT-Github-Repository und in der Erstellung von C#/WinRT-Komponenten.

Deklarieren von Typen in Komponenten für Windows-Runtime

Befolgen Sie beim Erstellen ihrer Komponente für Windows-Runtime die Richtlinien und Typeinschränkungen, die in der vorhandenen UWP-Dokumentation zu Komponenten für Windows-Runtime beschrieben sind (siehe Komponenten für Windows-Runtime mit C# und Visual Basic). Die Komponente kann größtenteils wie jede andere C#-Bibliothek implementiert werden. Es gibt jedoch Einschränkungen für die öffentlichen Typen in der Komponente, die für die Windows-Runtime offengelegt und im generierten .winmd für andere deklariert werden.

Extern können Sie nur Windows-Runtime-Typen für Parameter und Rückgabewerte verfügbar machen. Sie können integrierte C#-Typen als Teil der öffentlichen Oberfläche der Komponente verwenden, solange es eine Zuordnung vom .NET-Typ zu WinRT gibt (siehe .NET-Zuordnungen von WinRT-Typen in C#/WinRT), und sie werden Benutzern der Komponente als die entsprechenden Windows-Runtime-Typen angezeigt. Windows-Runtime-Typen aus anderen Windows-Runtime-Komponenten und aus dem Windows SDK können auch als Teil der öffentlichen Implementierung der Komponente verwendet werden, z. B. in Parameter, Rückgabetypen und Klassenhierarchie.

Hinweis

Es gibt einige Windows-Runtime-Typen, die .NET-Typen zugeordnet sind (siehe .NET-Zuordnungen von WinRT-Typen in C#/WinRT). Diese .NET-Typen können in der öffentlichen Schnittstelle Ihrer Komponente für Windows-Runtime verwendet werden, und sie werden Benutzern der Komponente als die entsprechenden Windows-Runtime-Typen angezeigt.