开发人员模式功能和调试

如果只是对在应用上安装开发人员模式的基础知识感兴趣,可以按照启用设备进行开发中列出的说明开始操作。 本文介绍了开发人员模式的高级功能、Windows 10 早期版本的开发人员模式以及开发人员模式安装相关的调试失败。

其他开发人员模式功能

对于每个设备系列,可能会提供其他开发人员功能。 仅当在设备上启用了开发人员模式时这些功能才可用(并且可能会因操作系统版本而异)。

此图显示了 Windows 的开发人员功能:

Windows developer settings

设备门户

若要了解有关设备门户的详细信息,请参阅 Windows 设备门户概述

有关特定于设备的设置说明,请参阅:

如果在启用开发人员模式或设备门户时遇到问题,请参阅已知问题论坛以查找这些问题的解决方法,或者访问无法安装开发人员模式程序包以了解可以使用哪些 WSUS KB 来解除阻止开发人员模式程序包。

SSH

在设备上启用设备发现时,会启用 SSH 服务。 当设备成为 MSIX 打包的应用程序的远程部署目标时,会使用该服务。 服务名称为“SSH Server Broker”和“SSH Server Proxy”

注意

这不是 Microsoft 的 OpenSSH 实现,可以在 GitHub 上找到该实现。

为了充分利用 SSH 服务,可以启用设备发现来支持固定配对。 如果想要运行另一个 SSH 服务,可以在其他端口上设置该服务或关闭开发人员模式 SSH 服务。 若要关闭 SSH 服务,请关闭设备发现。

SSH 登录通过“DevToolsUser”帐户完成,其接受使用密码进行身份验证。 此密码是在按设备发现“配对”按钮后显示在设备上的 PIN,且仅在 PIN 显示时有效。 SFTP 子系统也将启用,用于手动管理从 Visual Studio 安装松散文件部署的 DevelopmentFiles 文件夹。

SSH 使用的注意事项

Windows 中使用的现有 SSH 服务器尚不符合协议。 使用 SFTP 或 SSH 客户端可能需要特殊配置。 特别是,SFTP 子系统在版本 3 或更低版本上运行,因此,任何连接的客户端均应配置为需要旧服务器。 较旧设备上的 SSH 服务器使用 ssh-dss 进行公钥身份验证(已弃用 OpenSSH)。 若要连接到此类设备,SSH 客户端必须手动配置为接受 ssh-dss

设备发现

启用设备发现时,将允许你的设备通过 mDNS 对于网络上的其他设备可见。 使用此功能还可以获取用来配对此设备的 SSH PIN,方法是按启用设备发现后立即出现的“配对”按钮。 该 PIN 提示必须在屏幕上显示,以完成针对设备的首次 Visual Studio 部署。

Pair your device with Device Discovery

仅当想要使设备成为部署目标时,才应该启用设备发现。 例如,如果使用设备门户将应用部署到手机进行测试,只需要在手机上启用设备发现,并不需要在开发电脑上启用。

适用于 Windows 资源管理器、远程桌面和 PowerShell 的优化(仅限桌面设备)

在桌面设备系列上,“面向开发人员”设置页提供可用于针对开发任务对电脑进行优化的设置的快捷方式。 借助滑块,你可轻松从此单个位置启用或禁用设置。

Shortcuts for developers

说明

在早期版本的 Windows 10 Mobile 中,“开发人员设置”菜单中有“故障转储”选项。 这已经移到设备门户,以便可以远程使用而不只是通过 USB。

有多个工具可用来将应用从 Windows 10 电脑部署到 Windows 10 设备。 两台设备均必须(通过有线或无线的连接方式)连接到网络的同一子网,或者它们必须通过 USB 进行连接。 这两个选项都仅安装应用包(.appx.appxbundle)。 它们不安装证书。

  • 使用 Windows 应用程序部署 (WinAppDeployCmd) 工具。 了解有关 WinAppDeployCmd 工具的详细信息。
  • 可以使用设备门户从浏览器部署到运行 Windows 10 版本 1511 或更高版本的移动设备。 在设备门户中使用应用页上传应用包 (.appx) 并在设备上安装它。

无法安装开发人员模式程序包。

有时,由于网络或管理问题,开发人员模式无法正确安装。 开发人员模式程序包是远程部署到此电脑的必需条件(使用来自浏览器的设备门户或设备发现启用 SSH),但不用于本地部署。 即使遇到这些问题,仍然可以使用 Visual Studio 本地部署应用(或者从本设备向其他设备部署)。

请参阅已知问题论坛,查找这些问题的解决方法(以及其他内容)。

注意

如果在开发人员模式下无法正常安装,我们建议提出反馈请求。

  1. 安装反馈中心应用(如果尚未安装)并将其打开。
  2. 单击“添加新反馈”
  3. 选择“开发人员平台”类别和“开发人员模式”子类别
  4. 填写字段(可以选择性地附加屏幕截图),然后单击“提交”

提交反馈有助于 Microsoft 解决你所遇到的问题。

无法找到该程序包

无法在 Windows 更新中找到开发人员模式程序包。 错误代码 0x80004005。 了解详细信息。

发生此错误可能是由于网络连接问题、企业设置,或者程序包可能丢失。

若要解决此问题:

  1. 确保你的计算机连接到 Internet。

  2. 如果你位于加入域的计算机上,请与网络管理员联系。 默认情况下,WSUS 2.1 中阻止了开发人员模式程序包(如所有按需功能)。 为了在当前和之前的版本中解除阻止开发人员模式程序包,应该允许在 WSUS 中使用以下 KB:

    • 4016509
    • 3180030
    • 3197985
  3. 在“设置 → 更新和安全 → Windows 更新”中检查 Windows 更新

  4. 在“设置 → 系统 → 应用和功能 → 管理可选功能 → 添加功能”中验证 Windows 开发人员模式程序包是否存在。 如果缺少,Windows 无法为计算机找到正确的程序包。

  5. 在执行上述步骤后,禁用并随后重新启用“开发人员模式”以验证是否解决该问题

无法安装程序包

开发人员模式程序包无法安装。 错误代码 0x80004005。 了解详细信息。

发生此错误可能是由于 Windows 的内部版本和开发人员模式程序包之间不兼容。

若要解决此问题:

  1. 在“设置 → 更新和安全 → Windows 更新”中检查 Windows 更新
  2. 重启计算机以确保所有更新都已应用。

使用组策略或注册表项启用设备

对于大多数开发人员而言,希望使用“设置”应用启用设备进行调试。 在某些方案(例如自动执行测试)中,可以使用其他方法启用 Windows 桌面设备进行开发。

注意

这些步骤不会启用 SSH 服务器或允许面向设备进行远程部署和调试。

可以使用 gpedit.msc 设置组策略来启用设备,除非你拥有 Windows 10 家庭版或 Windows 11 家庭版。 如果有,则需要使用 regedit 或 PowerShell 命令直接设置注册表项以启用设备。

使用 gpedit 启用设备

  1. 运行 gpedit.msc

  2. 转到“本地计算机策略 → 计算机配置 → 管理模板 → Windows 组件 → 应用包部署”

  3. 编辑以下策略以启用旁加载:

    • 允许安装所有受信任的应用。

    OR

    编辑以下策略以启用旁加载和开发人员模式:

    • 允许安装所有受信任的应用。
    • 允许开发 UWP 应用并从集成开发环境 (IDE) 安装这些应用
    • 重启计算机。

使用 regedit 启用设备

  1. 运行 regedit

  2. 若要启用旁加载,请将此 DWORD 的值设置为 1

    HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\AppModelUnlock\AllowAllTrustedApps

    OR

    若要启用开发人员模式,请将此 DWORD 的值设置为 1

    HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\AppModelUnlock\AllowDevelopmentWithoutDevLicense

使用 PowerShell 启用设备

  1. 使用管理员权限运行 PowerShell。

  2. 若要启用旁加载,请运行此命令:

    PS C:\WINDOWS\system32> reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\AppModelUnlock" /t REG_DWORD /f /v "AllowAllTrustedApps" /d "1"
    

    OR

    若要启用开发人员模式,请运行此命令:

    PS C:\WINDOWS\system32> reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\AppModelUnlock" /t REG_DWORD /f /v "AllowDevelopmentWithoutDevLicense" /d "1"
    

将设备从 Windows 8.1 升级到 Windows 10 或 11

当你在 Windows 8.1 设备上创建或旁加载应用时,必须安装开发人员许可证。 如果你将设备从 Windows 8.1 升级到 Windows 10 或 11,将保留此信息。 运行以下命令以从已升级的 Windows 设备中删除此信息。

注意

如果你直接从 Windows 8.1 升级到版本为 1511 或更高版本的 Windows 10,则无需执行此步骤。

注销开发人员许可证

  1. 使用管理员权限运行 PowerShell。

  2. 运行此命令:

    unregister-windowsdeveloperlicense
    

注销许可证后,你需要启用设备用于开发(如本主题中所述),以便可以继续在此设备上进行开发。 如果你不执行此操作,则可能在调试应用(或为其创建程序包)时遇到错误。 以下是此错误的示例:

错误:DEP0700:应用注册失败。