使用 Visual Studio 进行部署和调试

无论你是使用 DirectX 还是 Unity 来开发混合现实应用,Visual Studio 都是你用于进行调试和部署的首选工具。 在本部分,你将了解如何:

  • 通过 Visual Studio 将应用程序部署到 HoloLens 或 Windows Mixed Reality 沉浸式头戴显示设备。
  • 使用 Visual Studio 中内置的 HoloLens 仿真器。
  • 调试混合现实应用。

必备条件

  1. 有关安装说明,请参阅安装工具
  2. UnityVisual Studio 中创建新的混合现实。

启用开发人员模式

首先在设备上启用“开发人员模式”,使 Visual Studio 能够连接到该设备。

HoloLens 中的开发人员模式

  1. 打开 HoloLens,然后戴上设备。
  2. 使用开始手势以启动主菜单。
  3. 选择“设置” 磁贴,以在你的环境中启动应用。
  4. 选择“更新” 菜单项。
  5. 选择“面向开发人员” 菜单项。
  6. 启用“使用开发人员功能”,将应用从 Visual Studio 部署到 HoloLens。 如果设备在 Windows Holographic 版本 21H1 或更高版本上运行,则还要启用“设备发现”。
  7. 可选:向下滚动,并启用设备门户,以便从 Web 浏览器连接到 HoloLens 上的 Windows 设备门户

Windows 电脑上的开发人员模式

如果使用已连接到电脑的 Windows Mixed Reality 头戴显示设备,则必须在电脑上启用“开发人员模式”。

  1. 转到“设置” 。
  2. 选择“更新和安全”。
  3. 选择“面向开发人员”。
  4. 启用“开发人员模式”,阅读所选设置的免责声明,然后选择“是”以接受更改。

通过 Wi-Fi 或 USB 部署 HoloLens 应用

编译选项

  1. 在 Visual Studio 中打开项目

  2. 单击编译选项下拉菜单,然后执行下列操作之一:

    • 对于 Unity 项目,请选择“Master”或“Master”
    • 对于所有其他项目,请选择“Release”

    显示 Visual Studio 中编译选项的屏幕截图。

    下面是编译选项的定义:

配置 说明
调试 所有优化均禁用,探查器启用。 用于调试脚本。
Master 所有优化均启用,探查器禁用。 用于将应用提交到 Microsoft Store。
Release 所有优化均启用,探查器启用。 用于评估应用性能。

生成配置

  1. 根据设备选择生成配置。

    选择“ARM”或“ARM64”配置选项

    Visual Studio 中的 ARM64 生成配置

    若要了解有关生成配置的详细信息,请参阅 Unity 文档中的“生成配置类型”表。

    注意

    对于 HoloLens,通常是针对 ARM 架构进行生成。 但是,Unity 2019.3 中存在一个已知问题,在 Visual Studio 中选择 ARM 作为生成体系结构时,该问题会导致错误。 建议的解决方法是针对 ARM64 进行生成。 如果这不可行,对于 Unity 项目,请在生成 Unity 生成之前执行此步骤:转到“编辑”“项目设置”“播放器”“其他设置”,然后禁用“图形作业”。

    如果目标选项中没有“设备”,则可能需要将 Visual Studio 解决方案的启动项目从 IL2CPP 项目更改为 UWP 项目。 为此,请在“解决方案资源管理器”中右键单击项目,然后选择“设为启动项目”。

  2. 单击部署目标下拉菜单,然后执行下列操作之一:

    • 如果要通过 Wi-Fi 进行生成和部署,请选择“远程计算机”。

    在 Visual Studio 中选择“远程计算机”作为部署目标

    • 如果要通过 USB 进行生成和部署,请选择“设备”。

    在 Visual Studio 中选择“设备”作为部署目标

远程连接

设置远程连接:

  1. 在菜单栏上,选择“项目”“属性”>“配置属性”>“调试”。

    注意

    对于 C# 项目,会自动显示一个对话框。

  2. 单击“要启动的调试程序”下拉菜单,然后选择“远程计算机”。

  3. 在“计算机名”字段中输入设备的 IP 地址。

    Visual Studio 中的远程连接对话框

    • 可在“设置”“网络”&“Internet”>“高级选项”下找到 HoloLens 的 IP 地址。

    • 我们建议手动输入你的 IP 地址,而不要依赖于“已自动检测”功能。

  4. 将“身份验证模式”设置为“通用(未加密协议)”。

  5. 根据需要生成、部署和调试应用:

    • 若要生成、部署和启动调试,请选择“调试”“启动调试”。

    • 若要在不调试的情况下生成和部署,请选择“生成”“部署解决方案”。

  6. 首次将应用从电脑部署到 HoloLens 时,系统会提示输入 PIN。 按下面的说明配对设备

将应用部署到 HoloLens(第一代)仿真器

  1. 请确保已安装 HoloLens 仿真器
  2. 为应用选择一种 x86 生成配置。 在 Visual Studio 中选择 x86 生成配置Select an x86 build configuration in Visual Studio
  3. 在部署目标下拉菜单中选择“HoloLens 仿真器”Visual Studio 中的仿真器目标Emulator target in Visual Studio
  4. 选择“调试”“开始调试”以部署应用并开始调试


将应用部署到 HoloLens 2 仿真器

  1. 请确保已安装 HoloLens 仿真器
  2. 为应用选择一种 x86 或 x64 生成配置。Visual Studio 中的 x86 生成设置配置
  3. 在部署目标下拉菜单中选择“HoloLens 2 仿真器”Visual Studio 应用程序中的仿真器目标Emulator target in Visual Studio application
  4. 选择“调试”“开始调试”以部署应用并开始调试


将 VR 应用部署到本地 PC

使用连接到电脑或 Mixed Reality 仿真器的 Windows Mixed Reality 沉浸式头戴显示设备:

  1. 为应用选择一种 x86x64 生成配置
  2. 在部署目标下拉菜单中选择“本地计算机”
  3. 根据需要生成、部署和调试应用
    • 选择“调试”“开始调试”以部署应用并开始调试
    • 选择“生成”“部署”以生成并部署而不调试

配对设备

首次将应用从 Visual Studio 部署到 HoloLens 时,系统会提示输入 PIN。 在 HoloLens 上启动“设置”应用,转到“更新”“面向开发人员”并点击“配对”,以生成 PIN。 当 PIN 显示在 HoloLens 上时,请将其键入 Visual Studio。 配对完成后,在 HoloLens 上点击“完成”关闭对话框。 此电脑现已与 HoloLens 配对,你可以自动部署应用。 请针对用于将应用部署到 HoloLens 的每台电脑重复上述步骤。

将 HoloLens 与所有配对的计算机取消配对:

  • 启动“设置”应用,转到“更新”“面向开发人员”,并点击“清除”。

适用于 HoloLens(第一代)的图形调试器

在编写和优化全息应用时,Visual Studio 图形诊断工具非常有用。 有关完整详细信息,请参阅 MSDN 上的“Visual Studio 图形诊断”

启动图形调试器

  1. 按上面的说明将目标指定为设备或仿真器
  2. 转到“调试”“图形”>“启动诊断”
  3. 首次在 HoloLens 上开始诊断时,可能会出现“拒绝访问”错误。 请重启 HoloLens 以使更新的权限生效,然后重试。

分析

使用 Visual Studio 分析工具可以分析应用的性能和资源使用情况。 这些工具包括用于优化 CPU、内存、图形和网络使用情况的工具。 有关完整详细信息,请参阅 MSDN 上的“运行诊断工具但不调试”

在 HoloLens 上启动分析工具

  1. 按上面的说明将目标指定为设备或仿真器
  2. 转到“调试”“启动诊断工具但不调试...”
  3. 选择要使用的工具
  4. 选择“启动”
  5. 首次在 HoloLens 上启动诊断但不调试时,可能会出现“拒绝访问”错误。 请重启 HoloLens 以使更新的权限生效,然后重试。

调试已安装的或正在运行的应用

可以使用 Visual Studio 来调试已安装的通用 Windows 应用,而无需从 Visual Studio 项目部署该应用。 要调试已安装的应用包,或者要调试已经在运行的应用,此方法非常有用。

  1. 转到“调试”-“其他调试目标”->“调试已安装的应用包”
  2. 为 HoloLens 选择“远程计算机”目标,或者为沉浸式头戴显示设备选择“本地计算机”。
  3. 输入设备的 IP 地址
  4. 选择“通用”身份验证模式
  5. 窗口中会显示正在运行的和非活动的应用。 选择要调试的应用。
  6. 选择要调试的代码类型(“托管”、“本机”、“混合”)
  7. 选择“附加”或“开始”

下一个开发检查点

如果你遵循我们规划的 Unity 开发检查点历程,则你就处于部署阶段之中。 从这里,你可以继续了解下一个主题:

或直接跳到添加高级服务:

你可以随时返回到 Unity 开发检查点

另请参阅