Шаблоны проектов и элементов Visual Studio для приложений для Windows

Visual Studio 2019 и более поздних версий предоставляет множество шаблонов проектов и элементов. Такие шаблоны помогают создавать приложения для устройств Windows 11 и Windows 10 на C# или C++. В этом разделе описаны шаблоны и приведены рекомендации по выбору одного из них для вашего сценария.

  • К шаблонам проектов относятся файлы проекта, файлы кода и другие ресурсы, настроенные для создания приложения или компонента, которые может загрузить и использовать приложение.
  • Шаблоны элементов — это файлы проекта, которые содержат часто используемые код и XAML, которые можно добавить в проект, чтобы ускорить разработку. Например, с помощью шаблона элемента можно добавить в приложение новое окно, страницу или элемент управления.

Дополнительные сведения об установке и настройке Visual Studio для получения доступа к этим шаблонам см. в статье Установка инструментов для Windows App SDK.

Шаблоны WinUI

Библиотека пользовательского интерфейса Windows (WinUI) — это современная нативная платформа пользовательского интерфейса, поддерживаемая приложениями для Windows, как классическими (.NET и нативные приложения Win32), так и приложениями UWP. WinUI 3 — это последняя основная версия WinUI. Это полноценная платформа пользовательского интерфейса для классических приложений для Windows.

WinUI 3 предоставляется в пакете SDK для приложений Windows. Она включает пакет VSIX для Visual Studio 2019 и более поздних версий с шаблонами проектов и элементов, которые помогут приступить к созданию приложений с помощью интерфейса на основе WinUI.

Template Studio для WinUI (C#) — это расширение Visual Studio 2022, которое ускоряет создание новых приложений WinUI в .NET с помощью пользовательского интерфейса на основе мастера. Выберите один из множества типов проектов и функций, чтобы создать адаптированный для вас шаблон проекта.

Дополнительные сведения о доступных шаблонах проектов и элементов WinUI см. в статье Шаблоны WinUI 3 в Visual Studio.

Шаблоны UWP

Visual Studio предоставляет разнообразные шаблоны проектов для создания приложений UWP с помощью C# или C++. Чтобы использовать эти шаблоны проектов, при установке Visual Studio необходимо включить рабочую нагрузку Разработка приложений для универсальной платформы Windows. Для шаблонов проектов C++ также необходимо включить дополнительный компонент средств универсальной платформы Windows C++ (v142) для рабочей нагрузки Разработка приложений для универсальной платформы Windows.

Template Studio для UWP — это расширение Visual Studio 2022, которое ускоряет создание новых приложений UWP в.NET с помощью пользовательского интерфейса на основе мастера. Выберите один из множества типов проектов и функций, чтобы создать адаптированный для вас шаблон проекта.

Шаблоны проектов для C# и UWP

Чтобы получить доступ к шаблонам проектов UWP C#, когда вы создаете проект в Visual Studio, отфильтруйте язык, выбрав C#, платформу, выбрав Windows, и тип проекта, выбрав значение UWP.

UWP C# project templates

Эти шаблоны проектов можно использовать для создания приложений UWP на C#.

Template Description
Пустое приложение (универсальное приложение Windows) Создает приложение UWP. Созданный проект содержит базовую страницу, производную от класса Windows.UI.Xaml.Controls.Page, с помощью которой можно приступить к созданию пользовательского интерфейса.
Приложение модульного тестирования (универсальное приложение Windows) Создает проект модульного теста на C# для приложения UWP. Дополнительные сведения см. в статье Модульное тестирование кода C#.

С помощью этих шаблонов проектов можно создавать фрагменты приложений UWP на C#.

Template Description
Библиотека классов (универсальное приложение Windows) Создает управляемую библиотеку классов (DLL) на языке C#, которую могут использовать другие приложения UWP, написанные с применением управляемого кода.
Компонент среды выполнения Windows (универсальное приложение Windows) Создает компонент среды выполнения Windows на C#, который может использоваться в любом приложении UWP, независимо от того, на каком языке программирования такое приложение написано.
Дополнительный пакет кода (универсальное приложение Windows) Создает дополнительный пакет с исполняемым кодом C#, который может загрузить приложение. Подробные сведения см. в статье Дополнительные пакеты с исполняемым кодом.

Шаблоны проектов для C++ и UWP

Для создания приложений UWP можно использовать две технологии C++:

  • Рекомендуемая технология — C++/WinRT. Это проекция языка C++, которая полностью реализована в файлах заголовков и предназначена для предоставления эффективного и удобного доступа к современному API WinRT.
  • Кроме того, можно использовать более старый набор расширений C++/CX. C++/CX по-прежнему поддерживается, но мы рекомендуем вместо него использовать C++/WinRT.

Чтобы получить доступ к шаблонам проектов UWP C++, когда вы создаете проект в Visual Studio, отфильтруйте язык, выбрав C++, платформу, выбрав Windows, и тип проекта, выбрав значение UWP.

Примечание.

По умолчанию рабочая нагрузка Разработка приложений для универсальной платформы Windows в Visual Studio предоставляет доступ только к шаблонам проектов C++/CX. Чтобы получить доступ к шаблонам проектов C++/WinRT, необходимо установить пакет VSIX C++/WinRT.

UWP C++ project templates

Эти шаблоны проектов можно использовать для создания приложений UWP на C++.

Template Description
Пустое приложение (C++/WinRT) Создает приложение UWP C++/WinRT с пользовательским интерфейсом XAML. Созданный проект содержит базовую страницу, производную от класса Windows.UI.Xaml.Controls.Page, с помощью которой можно приступить к созданию пользовательского интерфейса.
Приложение основных компонентов (C++/WinRT) Создает приложение UWP C++/WinRT, которое использует CoreApplication для интеграции с различными платформами пользовательского интерфейса вместо пользовательского интерфейса XAML. См. пошаговые инструкции по созданию с помощью этого шаблона проекта простой игры UWP, использующей DirectX.
Пустое приложение (универсальное приложение для Windows — C++/CX) Создает приложение UWP C++/WinRT с пользовательским интерфейсом XAML. Созданный проект содержит в библиотеке WinUI базовую страницу, производную от класса Windows.UI.Xaml.Controls.Page, с помощью которой можно приступить к созданию пользовательского интерфейса.
Приложение DirectX 11 и XAML (универсальное приложение для Windows — C++/CX) Создает приложение UWP, которое использует DirectX 11 и SwapChainPanel, чтобы можно было использовать элементы управления пользовательского интерфейса XAML. Дополнительные сведения см. в статье Шаблоны проектов игр DirectX.
Приложение DirectX 11 (универсальное приложение для Windows — C++/CX) Создает приложение UWP, которое использует DirectX 11. Дополнительные сведения см. в статье Шаблоны проектов игр DirectX.
Приложение DirectX 12 (универсальное приложение для Windows — C++/CX) Создает приложение UWP, которое использует DirectX 12. Дополнительные сведения см. в статье Шаблоны проектов игр DirectX.
Приложение модульных тестов (универсальное приложение для Windows — C++/CX) Создает проект модульного теста в C++/CX для приложения UWP. Дополнительные сведения см. в статье о тестировании DLL-библиотеки C++ UWP.

С помощью этих шаблонов проектов можно создавать фрагменты приложений UWP на C++.

Template Description
Компонент среды выполнения Windows (C++/WinRT) Создает компонент среды выполнения Windows на C++/WinRT, который может использоваться в любом приложении UWP, независимо от того, на каком языке программирования такое приложение написано.
Компонент среды выполнения Windows (универсальное приложение Windows) Создает компонент среды выполнения Windows на C++/CX, который может использоваться в любом приложении UWP, независимо от того, на каком языке программирования такое приложение написано.
Библиотека DLL (универсальные приложения для Windows) Проект для создания библиотеки динамической компоновки (DLL), которую можно использовать в приложении UWP, на C++/CX. Дополнительные сведения см. в статье Библиотеки DLL (C++/CX).
Статическая библиотека (универсальные приложения для Windows) Проект для создания статической библиотеки (LIB), которую можно использовать в приложении UWP, на C++/CX. Дополнительные сведения см. в статье Статические библиотеки (C++/CX).

Шаблоны классических приложений C++ (Win32)

Visual Studio предоставляет разнообразные шаблоны проектов для создания классических приложений для Windows с использованием нативного C++ и прямым доступом к API Win32. Чтобы использовать эти шаблоны проектов, при установке Visual Studio необходимо включить рабочую нагрузку Разработка классических приложений на C++. Эта рабочая нагрузка включает шаблоны проектов для создания классических и консольных приложений, а также библиотек.

Рекомендуемая технология — C++/WinRT. Это проекция языка C++, которая полностью реализована в файлах заголовков и предназначена для предоставления эффективного и удобного доступа к современному API WinRT.

Шаблоны проектов для классических приложений С++

Чтобы получить доступ к шаблонам проектов C++ для классических приложений при создании нового проекта в Visual Studio, отфильтруйте язык на C++, платформу в Windows и тип проекта на desktop.

Native C++ app project templates

Template Description
Классическое приложение для Windows (C++/WinRT) Создает клиентское приложение C++/WinRT для рабочего стола Windows. Дополнительные сведения см. в разделе Классическое приложение Windows (C++/WinRT). Для этого шаблона проекта требуется VSIX C++/WinRT.
Классическое приложение для Windows Создает классическое приложение для Windows с использованием C++. Дополнительные сведения см. в пошаговом руководстве. Создание традиционного классического приложения Windows.
Мастер классических приложений Windows Это пошаговый мастер, с помощью которого можно создать один из следующих типов проектов: классическое приложение для Windows, консольное приложение, библиотека динамической компоновки (DLL) или статическая библиотека. Дополнительные сведения см. в мастере рабочего стола Windows и пошаговом руководстве. Создание традиционного классического приложения Windows.
Проект упаковки приложений Windows Создает проект, с помощью которого можно разработать классическое приложение в пакете MSIX. Благодаря этому пользователь получает современные методы развертывания, возможности интеграции с компонентами Windows через расширения пакетов и многое другое. Дополнительные сведения см. в статье о Проекте упаковки приложений Windows.

Шаблоны проектов для консольных приложений С++

Чтобы получить доступ к шаблонам проектов C++ для консольных приложений, отфильтруйте язык, выбрав C++, платформу, выбрав Windows, и тип проекта, выбрав значение Console (Консольное приложение).

Native C++ console project templates

Template Description
Консольное приложение для Windows (C++/WinRT) Создает консольное приложение C++/WinRT без пользовательского интерфейса. Дополнительные сведения см. в статье Краткое руководство по C++/WinRT. Для этого шаблона проекта требуется VSIX C++/WinRT.
Консольное приложение Создает консольное приложение без пользовательского интерфейса. Дополнительные сведения см. в пошаговом руководстве по созданию стандартной программы C++ .
Пустой проект Пустой проект для создания приложения, библиотеки или DLL. Необходимо добавить требуемый код или ресурсы.

Шаблоны проектов для библиотек С++

Чтобы получить доступ к шаблонам проектов C++ для библиотек, отфильтруйте язык, выбрав C++, платформу, выбрав Windows, и тип проекта, выбрав значение Библиотека.

Native C++ library project templates

Template Description
Библиотека динамической компоновки (DLL) Проект для создания библиотеки динамической компоновки (DLL). Дополнительные сведения см. в пошаговом руководстве. Создание и использование динамической библиотеки ссылок.
Статическая библиотека Проект для создания статической библиотеки (LIB). Дополнительные сведения см. в пошаговом руководстве. Создание и использование статической библиотеки.

Шаблоны элементов для классических приложений С++

Шаблоны проектов C++ включают множество шаблонов элементов, с помощью которых можно выполнять такие задачи, как добавление в проект новых файлов и ресурсов. Полный список см. в статье об использовании шаблонов Visual C++ в диалоговом окне "Добавление нового элемента".

Шаблоны .NET

Visual Studio предоставляет разнообразные шаблоны проектов для создания классических приложений для Windows, использующих .NET и C#. Чтобы использовать эти шаблоны проектов, при установке Visual Studio необходимо включить рабочую нагрузку Разработка классических приложений .NET.

Чтобы получить доступ к шаблонам проектов .NET C#, когда вы создаете проект в Visual Studio, отфильтруйте язык, выбрав C#, платформу, выбрав Windows, и тип проекта, выбрав Desktop (Классическое приложение).

.NET C# project templates

С помощью этих шаблонов проектов можно создавать приложения с использованием C# и .NET.

Template Description
Приложение WPF Создает приложение WPF, предназначенное для .NET 6 (или более поздней версии). Пошаговые инструкции по этому шаблону проекта см. в статье о создании приложения WPF.
Приложение WPF (.NET Framework) Создает приложение WPF, предназначенное для .NET Framework. Пошаговое руководство по этому шаблону проекта см. в руководстве по созданию первого приложения WPF.
Приложение Windows Forms Создает приложение Windows Forms, предназначенное для .NET 6 (или более поздней версии).
Приложение Windows Forms (.NET Framework) Создает приложение Windows Forms, предназначенное для .NET Framework. Пошаговые инструкции по этому шаблону проекта см. в статье Создание приложения Windows Forms на C# в Visual Studio.
Проект упаковки приложений Windows Создает проект, с помощью которого можно разработать приложение WPF или Windows Forms в пакете MSIX. Благодаря этому пользователь получает современные методы развертывания, возможности интеграции с компонентами Windows через расширения пакетов и многое другое. Дополнительные сведения см. в статье о Проекте упаковки приложений Windows.