Creare componenti Windows Runtime con C#/WinRT
Nota
La creazione di componenti Windows Runtime con C#/WinRT è supportata in .NET 6 e versioni successive.
Il pacchetto NuGet C#/WinRT offre il supporto per la creazione di tipi e componenti Windows Runtime personalizzati in C# e l'utilizzo da qualsiasi linguaggio compatibile con Windows Runtime, ad esempio C++/WinRT o Rust. Il supporto per la creazione e l'hosting di C#/WinRT richiede .NET 6 e Visual Studio 2022 ed è progettato per supportare scenari di applicazioni desktop, tra cui Windows App SDKe WinUI3.
Per una procedura dettagliata che illustra come creare un componente Windows Runtime con .NET 6 e come usarlo da un'applicazione console C++/WinRT, vedere Procedura dettagliata: Creare un componente C#/WinRT e usarlo da C++/WinRT.
Per altri dettagli e per cercare o segnalare eventuali problemi, vedere il Repository GitHub C#/WinRT e Creazione di componenti C#/WinRT.
Dichiarazione dei tipi nei componenti Windows Runtime
Durante la creazione del componente Windows Runtime, seguire le linee guida e le restrizioni sui tipi descritte nella documentazione della piattaforma UWP esistente sui componenti Windows Runtime. Vedere Componenti Windows Runtime con C# e Visual Basic. Il componente può essere implementato nella maggior parte dei casi come qualsiasi altra libreria C#. Esistono tuttavia restrizioni sui tipi pubblici nel componente che verranno esposti a Windows Runtime e dichiarati nel .winmd
generato per consentirne l'utilizzo da parte di altri utenti.
Esternamente è possibile esporre solo i tipi Windows Runtime per i parametri e i valori restituiti. È possibile usare tipi C# predefiniti come parte della superficie pubblica del componente, purché sia presente un mapping dal tipo .NET a WinRT (vedere Mapping .NET dei tipi WinRT in C#/WinRT). Verranno visualizzati agli utenti del componente come tipi di Windows Runtime corrispondenti. I tipi di Windows Runtime di altri componenti Windows Runtime e Windows SDK possono essere usati anche come parte dell'implementazione pubblica del componente, ad esempio parametri in
, tipi restituiti ed ereditarietà delle classi.
Nota
Esistono alcuni tipi di Windows Runtime mappati ai tipi .NET. Vedere Mapping .NET dei tipi WinRT in C#/WinRT. Questi tipi .NET possono essere usati nell'interfaccia pubblica del componente Windows Runtime e appariranno agli utenti del componente come i tipi Windows Runtime corrispondenti.