Freigeben über


Erstellen Windows-Runtime Komponenten mit C#/WinRT

Hinweis

Die Erstellung Windows-Runtime Komponenten mit C#/WinRT wird auf .NET 6 und höher unterstützt.

Das C#/WinRT NuGet-Paket bietet Unterstützung für die Erstellung eigener Windows-Runtime-Typen und -Komponenten in C# sowie deren Nutzung von jeder Windows-Runtime-kompatiblen Sprache wie C++/WinRT oder Rust. C#/WinRT-Erstellungs- und Hostingunterstützung erfordert .NET 6 oder höher und Visual Studio 2022 oder höher und soll Desktopanwendungsszenarien wie die Windows App SDK und WinUI3 unterstützen.

Eine exemplarische Vorgehensweise zum Erstellen einer Windows-Runtime Komponente mit .NET 6 oder höher sowie zum Verwenden aus einer C++/WinRT-Konsolenanwendung finden Sie unter Walkthrough: Create a C#/WinRT component and consume it from C++/WinRT.

Weitere Informationen sowie die Möglichkeit, nach Problemen zu suchen oder diese zu melden, finden Sie im C#/WinRT GitHub Repo und in der Authoring C#/WinRT Components.

Deklarieren von Typen in Windows-Runtime Komponenten

Befolgen Sie beim Erstellen Ihrer Windows-Runtime Komponente die Richtlinien und Typeinschränkungen, die in der vorhandenen UWP-Dokumentation zu Windows-Runtime Komponenten beschrieben sind (siehe Windows-Runtime-Komponenten 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 bereitgestellt und in der generierten .winmd deklariert werden, damit sie von anderen genutzt werden können.

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 eine Zuordnung vom .NET Typ zu WinRT vorhanden ist (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 dem Windows SDK können auch als Teil der öffentlichen Implementierung der Komponente verwendet werden, z. B. in Parameter, Rückgabetypen und Klassenvererbung.

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 Windows-Runtime-Komponente verwendet werden, und sie werden Benutzern der Komponente als die entsprechenden Windows-Runtime Typen angezeigt.