Создание компонентов среда выполнения Windows с помощью C#/WinRT

Заметка

Разработка компонентов среда выполнения Windows с помощью C#/WinRT поддерживается в .NET 6 и более поздних версий.

Пакет NuGet C#/WinRT обеспечивает поддержку разработки собственных типов и компонентов среда выполнения Windows в C#, а также их использования из любого языка, совместимого с среда выполнения Windows, например ++/WinRT или Руст. Для создания и хостинга C#/WinRT требуется .NET 6 или более поздняя версия и Visual Studio 2022 или более поздняя версия, чтобы поддерживать сценарии настольных приложений, включая Windows App SDK и WinUI3.

Пошаговое руководство по созданию компонента среда выполнения Windows с помощью .NET 6 или более поздней версии и способах его использования из консольного приложения C++/WinRT см. в статье Walkthrough: Создание компонента C#/WinRT и его использование из C++/WinRT.

Для получения более подробной информации, а также чтобы найти или зарегистрировать проблемы, обратитесь к репозиторию C#/WinRT на GitHub и документу Authoring C#/WinRT Components.

Объявление типов в компонентах среда выполнения Windows

При создании компонента среда выполнения Windows следуйте указаниям и ограничениям типов, описанным в существующей документации по UWP о компонентах среда выполнения Windows (см. компоненты среда выполнения Windows с помощью C# и Visual Basic). Компонент может быть реализован как любая другая библиотека C#. Однако существуют ограничения на общедоступные типы компонента, которые будут экспортироваться в среда выполнения Windows и объявлены в сгенерированном .winmd, чтобы другие могли их использовать.

Предоставлять извне можно только типы среда выполнения Windows для параметров и возвращаемых значений. Встроенные типы C# можно использовать как часть интерфейса компонента, если существует сопоставление типа .NET с WinRT (см. .NET сопоставления типов WinRT в C#/WinRT), и они будут представляться пользователям компонента в качестве соответствующих типов среда выполнения Windows. Типы среда выполнения Windows из других компонентов среда выполнения Windows и пакета Windows SDK также можно использовать в рамках общедоступной реализации компонента, например, параметры in, возвращаемые типы и наследование классов.

Заметка

Существуют некоторые типы среда выполнения Windows, отображаемые на типы .NET (см. Соответствие типов WinRT типам .NET в C#/WinRT). Эти .NET типы можно использовать в общедоступном интерфейсе компонента среда выполнения Windows, и они будут отображаться пользователями компонента в качестве соответствующих среда выполнения Windows типов.