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 Typen und Komponenten für Windows-Runtime in C# und die Verwendung von Windows-Runtime-kompatiblen Programmiersprachen wie C++/WinRT oder Rust. Die C#/WinRT-Unterstützung für das Erstellen und Hosten erfordert .NET 6 und Visual Studio 2022 und soll Desktopanwendungsszenarien wie das Windows App SDKund WinUI 3 unterstützen.

Eine exemplarische Vorgehensweise zum Erstellen einer Komponente für Windows-Runtime mit .NET 6 und zum Verwenden dieser aus einer C++/WinRT-Konsolenanwendung finden Sie unter Exemplarische Vorgehensweise: Erstellen einer C#/WinRT-Komponente und deren Verwendung aus C++/WinRT.

Weitere Informationen zum Suchen oder Melden von Problemen finden Sie im C#/WinRT-GitHub-Repository und unter Erstellen 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 verfügbar gemacht und für die Verwendung durch andere in der generierten .winmd-Datei deklariert 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 Schnittstelle der Komponente verwenden, solange es eine Zuordnung vom .NET-Typ zu WinRT gibt (siehe .NET-Zuordnungen von WinRT-Typen in C#/WinRT). Sie werden Benutzer*innen der Komponente als die entsprechenden Windows-Runtime-Typen angezeigt. Windows-Runtime-Typen aus anderen Komponenten für Windows-Runtime 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 Komponente für Windows-Runtime verwendet werden. Den Benutzer*innen der Komponente werden sie als die entsprechenden Windows-Runtime-Typen angezeigt.