Visual Studio 2019(及更高版本)提供很多项目和项模板,可帮助你使用 C# 或 C++ 生成适用于 Windows 11 和 Windows 10 设备的应用。 本主题介绍了这些模板,并可帮助你选择一种适用于你的场景的模板。
- 项目模板包括项目文件、代码文件和其他资产,可配置它们以生成应用或可由应用加载和使用的组件。
- 项模板是包含常用代码和 XAML 的项目文件,可以将其添加到项目中以减少开发时间。 例如,你可以使用项模板将新的窗口、页面或控件添加到应用。
有关安装和配置 Visual Studio 以获取这些模板访问权限的信息,请参阅 WinUI 入门。
WinUI 模板
WinUI 是新式的本机用户界面 (UI) 平台,适用于跨桌面(.NET 和本机 Win32)和 UWP 应用平台的 Windows 应用。 WinUI 3 是 WinUI 的最新主要版本,它将 WinUI 转换为适用于桌面 Windows 应用的完整 UX 框架。
WinUI 3 作为 Windows 应用 SDK 的一部分提供。 其中包括用于 Visual Studio 2019(及更高版本)的 VSIX 包,此包提供项目和项模板,可帮助你使用基于 WinUI 的界面开始生成应用。
Template Studio for WinUI (C#) 是一个 Visual Studio 2022 扩展,它使用基于向导的 UI 加速新 .NET WinUI 应用的创建。 从各种项目类型和功能中进行选择,以生成为你定制的项目模板。
若要详细了解可用的 WinUI 项目和项模板,请参阅 Visual Studio 中的 WinUI 3 模板。
UWP 模板
Visual Studio 提供了各种项目模板,用于生成使用 C# 或 C++ 的 UWP 应用。 要使用这些项目模板,在你安装 Visual Studio 时,“通用 Windows 平台开发”工作负载必须包括在内。 对于 C++ 项目模板,用于“通用 Windows 平台开发”工作负载的“C++ (v142) 通用 Windows 平台工具”可选组件也必须包括在内。
Template Studio for UWP 是一个 Visual Studio 2022 扩展,它使用基于向导的 UI 加速新 .NET UWP 应用的创建。 从各种项目类型和功能中进行选择,以生成为你定制的项目模板。
适用于 C# 和 UWP 的项目模板
要在 Visual Studio 中创建新项目时访问UWP C# 项目模板,请将语言筛选为“C#”,将平台筛选为“Windows”并将项目类型筛选为“UWP” 。
可以使用这些项目模板来创建 C# UWP 应用。
模板 | 说明 |
---|---|
空白应用(通用 Windows) | 创建 UWP 应用。 生成的项目包括一个基础页面,该页面派生自可用于开始生成 UI 的 Windows.UI.Xaml.Controls.Page 类。 |
单元测试应用(通用 Windows) | 采用 C# 为 UWP 应用创建一个单元测试项目。 有关详细信息,请参阅 单元测试 C# 代码。 |
可以使用这些项目模板来生成 C# UWP 应用的各个部分。
模板 | 说明 |
---|---|
类库(通用 Windows) | 使用 C# 创建一个托管类库 (DLL),使其可由以托管代码编写的其他 UWP 应用使用。 |
Windows 运行时组件(通用 Windows) | 使用 C# 创建一个 Windows 运行时组件,使其可由任何 UWP 应用使用,而不管该应用是使用哪种编程语言编写的。 |
可选代码包(通用 Windows) | 使用可执行 C# 代码创建一个可由应用加载的可选包。 有关详细信息,请参阅包含可执行代码的可选包。 |
适用于 C++ 和 UWP 的项目模板
可以使用两种不同的技术来生成 C++ UWP 应用:
- 推荐的技术是 C++/WinRT。 这是一种 C++ 语言投影,完全在头文件中实现,旨在提供对新式 WinRT API 的一流访问。
- 或者,你可以使用较旧版 C++/CX 扩展集。 C++/CX 仍受支持,但我们建议你改用 C++/WinRT。
要在 Visual Studio 中创建新项目时访问UWP C++ 项目模板,请将语言筛选为“C++”,将平台筛选为“Windows”并将项目类型筛选为“UWP”。
注意
默认情况下,Visual Studio 中的“通用 Windows 平台开发”工作负载仅提供对 C++/CX 项目模板的访问。 要访问 C++/WinRT 项目模板,必须安装 C++/WinRT VSIX 包。
可以使用这些项目模板来创建 C++ UWP 应用。
模板 | 说明 |
---|---|
空白应用 (C++/WinRT) | 使用 XAML 用户界面创建 C++/WinRT UWP 应用。 生成的项目包括一个基础页面,该页面派生自可用于开始生成 UI 的 Windows.UI.Xaml.Controls.Page 类。 |
核心应用 (C++/WinRT) | 创建一个使用 CoreApplication 与各种 UI 框架(而不是 XAML 用户界面)集成的 C++/WinRT UWP 应用。 有关演示如何使用该项目模板来创建使用 DirectX 的简单游戏的演练,请参阅创建使用 DirectX 的简单 UWP 游戏。 |
空白应用(通用 Windows - C++/CX) | 使用 XAML 用户界面创建 C++/WinRT UWP 应用。 生成的项目包括一个基础页面,该页面派生自 WinUI 库中可用于开始生成 UI 的 Windows.UI.Xaml.Controls.Page 类。 |
DirectX 11 和 XAML 应用(通用 Windows - C++/CX) | 创建一个使用 DirectX 11 的 UWP 应用和一个 SwapChainPanel,以便可以使用 XAML UI 控件。 有关详细信息,请参阅 DirectX 游戏项目模板。 |
DirectX 11 应用(通用 Windows - C++/CX) | 创建使用 DirectX 11 的 UWP 应用。 有关详细信息,请参阅 DirectX 游戏项目模板。 |
DirectX 12 应用(通用 Windows - C++/CX) | 创建使用 DirectX 12 的 UWP 应用。 有关详细信息,请参阅 DirectX 游戏项目模板。 |
单元测试应用(通用 Windows - C++/CX) | 采用 C++/CX 为 UWP 应用创建一个单元测试项目。 有关详细信息,请参阅如何测试 C++ UWP DLL。 |
可以使用这些项目模板来生成 C++ UWP 应用的各个部分。
模板 | 说明 |
---|---|
Windows 运行时组件 (C++/WinRT) | 使用 C++/WinRT 创建一个 Windows 运行时组件,使其可由任何 UWP 应用使用,而不管该应用是使用哪种编程语言编写的。 |
Windows 运行时组件(通用 Windows) | 使用 C++/CX 创建一个 Windows 运行时组件,使其可由任何 UWP 应用使用,而不管该应用是使用哪种编程语言编写的。 |
DLL (通用 Windows) | 一个使用 C++/CX 创建动态链接库 (DLL) 的项目,可以在 UWP 应用中使用。 有关详细信息,请参阅 DLL (C++/CX)。 |
静态库(通用 Windows) | 一个使用 C++/CX 创建静态库 (LIB) 的项目,可以在 UWP 应用中使用。 有关详细信息,请参见静态库 (C++/CX)。 |
C++ 桌面 (Win32) 模板
Visual Studio 提供了各种项目模板,用于生成使用本机 C++ 的桌面 Windows 应用以及直接访问 Win32 API。 要使用这些项目模板,在你安装 Visual Studio 时,“使用 C++ 进行桌面开发”工作负载必须包括在内。 此工作负载包括用于生成桌面应用、控制台应用和库的项目模板。
推荐的技术是 C++/WinRT。 这是一种 C++ 语言投影,完全在头文件中实现,旨在提供对新式 WinRT API 的一流访问。
适用于 C++ 桌面应用的项目模板
在 Visual Studio 中创建新项目时,若要访问桌面应用的 C++ 项目模板,请将语言筛选为“C++”,将平台筛选为“Windows”并将项目类型筛选为“桌面”。
模板 | 说明 |
---|---|
Windows 桌面应用程序 (C++/WinRT) | 创建适用于 Windows 桌面的 C++/WinRT 客户端应用程序。 有关详细信息,请参阅 Windows 桌面应用程序 (C++/WinRT)。 此项目模板需要 C++ /WinRT VSIX。 |
Windows 桌面应用程序 | 使用 C++ 创建经典 Windows 桌面应用。 有关详细信息,请参阅演练:创建传统的 Windows 桌面应用程序。 |
Windows 桌面向导 | 提供可用于创建以下一种类型的项目的分步向导:经典 Windows 桌面应用、控制台应用、动态链接库 (DLL) 或静态库。 有关详细信息,请参阅 Window 桌面向导和演练:创建传统的 Windows 桌面应用程序。 |
Windows 应用程序打包项目 | 创建可用于将桌面应用生成到 MSIX 包的项目。 这提供了一种新式部署体验、通过包扩展与 Windows 功能集成的功能以及更多其他功能。 有关详细信息,请参阅 Windows 应用程序打包项目。 |
适用于 C++ 控制台应用的项目模板
要访问适用于控制台应用的 C++ 项目模板,请将语言筛选为“C++”,将平台筛选为“Windows”并将项目类型筛选为“控制台”。 。
模板 | 说明 |
---|---|
Windows 控制台应用程序 (C++/WinRT) | 在不使用用户界面的情况下创建一个 C++/WinRT 控制台应用。 有关详细信息,请参阅 C++/WinRT 快速入门。 此项目模板需要 C++ /WinRT VSIX。 |
控制台应用 | 在不使用用户界面的情况下创建一个控制台应用。 有关详细信息,请参阅演练:创建标准 C++ 程序。 |
空项目 | 用于创建应用程序、库或 DLL 的空项目。 必须添加所需的任何代码或资源。 |
适用于 C++ 库的项目模板
要访问适用于库的 C++ 项目模板,请将语言筛选为“C++”,将平台筛选为“Windows”并将项目类型筛选为“库”。 。
模板 | 说明 |
---|---|
动态链接库 (DLL) | 创建动态链接库 (DLL) 的项目。 有关详细信息,请参阅演练:创建和使用动态链接库。 |
静态库 | 创建静态库 (LIB) 的项目。 有关详细信息,请参阅演练:创建和使用静态库。 |
适用于 C++ 桌面应用的项模板
C++ 项目模板包括许多项模板,可使用它们来执行任务,例如向项目中添加新文件和资源。 有关完整列表,请参阅使用 Visual C++ 添加新项模板。
.NET 模板
Visual Studio 提供了各种项目模板,用于生成使用 .NET 和 C# 的桌面 Windows 应用。 要使用这些项目模板,在你安装 Visual Studio 时,“.NET 桌面开发”工作负载必须包括在内。
要在 Visual Studio 中创建新项目时访问 .NET C# 项目模板,请将语言筛选为“C#”,将平台筛选为“Windows”并将项目类型筛选为“桌面” 。
可以使用这些项目模板创建使用 C# 和 .NET 的应用。
模板 | 说明 |
---|---|
WPF 应用程序 | 创建一个以 .NET 6(或更高版本)为目标的 WPF 应用。 有关此项目模板的演练,请参阅创建 WPF 应用程序。 |
WPF 应用(.NET Framework) | 创建一个以 .NET Framework 为目标的 WPF 应用。 有关此项目模板的演练,请参阅教程:创建你的第一个 WPF 应用程序。 |
Windows 窗体应用 | 创建一个以 .NET 6(或更高版本)为目标的 Windows 窗体应用。 |
Windows 窗体应用 (.NET Framework) | 创建一个以 .NET Framework 为目标的 Windows 窗体应用。 有关此项目模板的演练,请参阅使用 C# 在 Visual Studio 中创建 Windows 窗体应用。 |
Windows 应用程序打包项目 | 创建可用于将 WPF 或 Windows 窗体应用生成到 MSIX 包的项目。 这提供了一种新式部署体验、通过包扩展与 Windows 功能集成的功能以及更多其他功能。 有关详细信息,请参阅 Windows 应用程序打包项目。 |