此页面在 Windows 应用程序开发上编译资源,帮助你开始为 Windows IoT 企业版设备开发应用程序。
为 Windows IoT 企业版设备开发应用程序非常类似于针对 Windows 客户端设备进行开发。 为 Windows 客户端生成的相同应用程序在 Windows IoT 企业版上运行,无需进行任何修改。 为 Windows IoT 企业版和 Windows 桌面开发应用程序之间的区别在于,应额外考虑将应用程序部署到的硬件以及应用于设备的任何 Windows IoT 自定义或锁定策略。
设置环境
安装开发工具
若要开发适用于 Windows IoT 的应用,需要 Visual Studio、Windows SDK 和 Windows 应用 SDK。
主题 | 资源 | 说明 |
---|---|---|
Visual Studio | Visual Studio | Visual Studio 是许多 Windows 开发人员的首选开发工具,让你能够为 Windows 和其他许多平台创建项目。 它是一个功能强大的 IDE,可帮助你编写、调试和部署应用。 |
Windows SDK | Windows SDK | Windows SDK 是一个开发平台,可用于构建 UWP 应用和 Win32/桌面应用。 它是围绕与特定版本的 OS 耦合的 Windows API 设计的。 |
Windows 应用 SDK | Windows 应用 SDK | Windows 应用 SDK 是对 Windows SDK 的补充,可用于构建可跨 Windows 版本(低至 Windows 10 1809)安装的新式桌面应用。 |
开始开发
Windows 应用开发
了解有关为 Windows 设备编写应用和浏览示例应用程序代码的所有内容。
主题 | 资源 | 说明 |
---|---|---|
语言和平台选项 | Windows 开发选项 | Windows 提供了各种用于生成应用的选项,从编程语言到应用程序框架。 本文包含开始生成应用所需的信息。 |
应用框架比较 | 应用开发框架 | 评估最适合应用的应用开发框架。 |
Windows 应用打包和部署选项 | Windows 应用:打包、部署和处理 | 了解 Windows 应用程序如何打包、分发和部署,以及这些不同的选项如何影响应用的运行时处理。 |
代码示例 | Windows 开发的示例应用程序 | 本主题为演示特定任务、功能和 API 使用模式的 Windows 应用程序编译示例代码。 本文档中的示例演示了 Windows 应用 SDK/WinUI 3、UWP/WinUI 2、.NET MAUI 等中的功能。 |
Windows IoT 应用开发注意事项
了解通常用于 Windows IoT 设备的 Windows 应用开发模式和功能。
主题 | 资源 | 说明 |
---|---|---|
嵌入模式 | 嵌入模式 | 使 UWP 应用程序能够在后台运行,并使用 lowLevelDevices 或 systemManagement UWP 应用程序功能 |
后台应用程序 (UWP) | 后台 UWP 任务和应用程序 | 后台应用程序是一种特殊类型的 UWP 应用程序,它没有 UI,但仍可以运行代码。 这些应用通常用于 Windows IoT 核心版设备和不显示的设备。 必须启用“嵌入模式”才能运行后台应用程序。 |
Windows 服务 (.NET) | Windows 服务 | Windows 服务是没有 UI 且旨在执行特定任务或功能的后台进程。 Windows 服务通常用于 Windows 客户端设备,也可以在 Windows IoT 设备上使用。 |
UWP 应用程序部署 | 部署和调试 UWP 应用程序 | 介绍部署和调试 UWP 应用程序的各种方式。 IoT 设备的最常见范例是部署到远程计算机,这需要在 IoT 设备上设置额外的步骤 |
调试 UWP 应用程序 | 在远程计算机上调试 UWP 应用程序 | 介绍如何从开发计算机调试在 Windows IoT 设备上运行的应用程序。 |
开发 ARM64 设备的应用程序
本机与模拟的 ARM64 应用程序
本机 ARM64 应用程序是指为 Arm64 本机生成的应用程序。 仿真 ARM64 应用程序是指为 X86 或 X64 生成的应用程序,但使用 Windows 的内置仿真技术使应用程序能够在 ARM64 设备上运行,而无需修改。
与仿真 ARM64 应用程序相比,本机 ARM64 应用程序具有多种优势,包括:
- 提升了性能
- 功耗更低
- 更好的兼容性
在 ARM64 设备上本机运行或仿真 ARM64 应用程序的决定归结于适合特定设备方案的内容。 建议为 ARM64 本机生成应用程序,以便可以利用本机 ARM64 应用程序的优势。 但是,使用 Windows 的内置 ARM64 仿真技术运行应用程序也完全没问题。
如何添加 Arm64 本机支持
若要向现有应用程序或新应用程序添加 ARM64 本机支持,请按照有关向 Windows 应用程序添加 ARM64 支持的指南进行操作
哪些 Windows IoT 企业版支持应用仿真?
根据此表,Windows IoT 企业版支持 ARM64 设备上的应用仿真。
操作系统版本 | ARM64 设备上的仿真支持 |
---|---|
Windows 10 | X86 |
Windows 11 | x86、x64 |
如何使用 ARM64 仿真技术运行应用
若要使用 Windows 的内置仿真技术在 ARM64 设备上运行 X86 或 X64 应用程序,只需将 X86 或 X64 应用程序部署到 ARM64 设备并正常运行它。
对 ARM64 的 .NET Framework 支持
.NET Framework 4.8.1 在 Windows 11 中添加了对 Arm64 的本机支持,使开发人员能够在 ARM64 设备上本机生成应用程序并在 ARM64 设备上运行它,而无需使用 ARM64 仿真。 通过 .NET Framework Runtime 4.8.1 中的本机 ARM64 支持,Windows 11 设备上支持此功能。
注意
.NET Framework 4.8.1 运行时不支持 Windows 10 设备上的本机 ARM64 应用程序。
若要在 ARM64 Windows 11 IoT 企业版设备上运行本机 ARM64 .NET Framework 4.8.1 应用程序,请确保在设备上安装 .NET Framework 4.8.1 运行时或随应用程序打包。
更多应用开发资源
测试和调试
使用 Visual Studio 在发布之前调试应用程序和运行测试。 请确保从目录窗格顶部的下拉列表中选择正确的 Visual Studio 版本。
主题 | 资源 | 说明 |
---|---|---|
使用 Visual Studio 调试应用 | 使用 Visual Studio 调试应用 | 使用 Visual Studio 调试器准备应用以供发布。 |
探索 Visual Studio 中的测试 | Visual Studio 测试工具 | 探索 Visual Studio 中可用的测试选项 |
单元测试 | Visual Studio 中的单元测试 | Visual Studio 中的单元测试入门 |
Live Unit Testing | 实时单元测试 | 进行代码更改时,Live Unit Testing 会自动执行单元测试。 |
远程测试 | Visual Studio 中的远程测试 | 通过远程测试,开发人员可将 Visual Studio 2022 连接到远程环境来运行和调试测试。 |
部署应用程序
如何发布和共享应用。 请确保从目录窗格顶部的下拉列表中选择正确的 Visual Studio 版本,以及文章标题上方右侧的正确语言。
主题 | 资源 | 说明 |
---|---|---|
部署应用概述 | 使用 Visual Studio 部署应用 | 使用 Visual Studio 部署应用程序。 |
部署到本地文件夹 | 使用 Visual Studio 部署到本地文件夹 | 部署到本地文件夹通常用于测试,或开始分阶段部署,其中使用另一个工具进行最终部署。 |
发布到 Azure | 使用 Visual Studio 发布到 Azure | 使用 Visual Studio 将应用程序发布到 Azure。 |
发布到 Web 或网络共享 | 使用 Visual Studio 发布到 Web | 在 Visual Studio 中将应用发布到 Web 或部署到网络共享。 |
创建安装程序包 | 创建安装程序包 | 使用 Visual Studio 为应用创建 Windows 桌面安装程序包 |
发布到 Microsoft Store | 发布到 Microsoft Store | 首先发布到 Microsoft Store。 |
部署为 Windows 应用 | 部署为 Windows 应用(创建应用安装程序) | 若要将项目打包为可以接收维护更新的 Windows 应用,可以创建应用安装程序。 |
部署到设备 (UWP) | 远程部署到设备 | 部署 UWP 以在设备上进行测试。 |
将应用预安装到 OS 映像 | 使用 DISM 预安装应用 | 本主题介绍如何预安装应用,使其成为 Windows 映像的一部分。 |
使用 WinGet 安装应用 | 使用 WinGet 在 Windows IoT 企业版上安装应用 | 用户可以在 Windows 10 和 Windows 11 设备上使用 WinGet 命令行工具来发现、安装、升级、删除和配置应用程序。 |
其他有用的 Windows 开发工具
主题 | 资源 | 说明 |
---|---|---|
安装开发人员主页 | 开发人员主页 | 开发人员主页是 Windows 11 引入的,它是一个仪表板,提供了快速访问开发 Windows 应用所需的工具。 它还提供了训练和代码示例的链接。 |
开发驱动器 | 开发驱动器 | 为了加快常见的开发任务,可以创建一个专门格式化的驱动器(开发驱动器),用于存储项目。 |
Visual Studio Code | Visual Studio Code | Visual Studio Code 是高度可扩展的编辑器,可以自定义以支持你能想到的几乎所有类型的开发。 它是为 Windows 和其他平台编写应用的绝佳选择。 |
Windows 终端 | Windows 终端 | Windows 终端是一个新式主机应用程序,它面向你喜爱的命令行 shell,如命令提示符、PowerShell 和 bash(通过适用于 Linux 的 Windows 子系统 (WSL))。 它提供新式选项卡式界面,支持主题和扩展。 |
适用于 Linux 的 Windows 子系统 | 适用于 Linux 的 Windows 子系统 | WSL 允许你在 Windows 上运行 Linux 分发版,是使用开放源代码工具开发适用于 Windows 的应用的好方法。 |