개발자 모드 기능 및 디버깅

앱에 개발자 모드를 설치하는 기본적인 방법만 이해하려면 디바이스를 개발에 사용하도록 설정의 지침에 따라 시작하면 됩니다. 이 문서에서는 개발자 모드의 고급 기능, 이전 버전의 Windows 10 개발자 모드 및 개발자 모드 설치 관련 디버깅 오류에 대해 설명합니다.

추가 개발자 모드 기능

각 디바이스 패밀리의 경우 추가적인 개발자 기능을 사용할 수 있습니다. 이러한 기능은 디바이스에서 개발자 모드를 사용하도록 설정한 경우에만 사용할 수 있으며 사용 중인 OS 버전에 따라 달라질 수 있습니다.

이 이미지는 Windows의 개발자 기능을 표시합니다.

Windows developer settings

디바이스 포털

디바이스 포털에 대한 자세한 내용은 Windows Device Portal 개요를 참조하세요.

디바이스별 설정 지침은 다음을 참조하세요.

개발자 모드 또는 디바이스 포털을 사용하도록 설정하는 데 문제가 있는 경우 알려진 문제 포럼에서 이 문제에 대한 해결 방법을 찾아보거나 개발자 모드 패키지 설치 실패를 방문하여 개발자 모드 패키지의 차단을 해제하려면 어떤 WSUS KB를 허용해야 하는지 확인하세요.

SSH

디바이스에서 디바이스 검색을 사용하도록 설정할 경우에 SSH 서비스를 사용하도록 설정됩니다. 이 서비스는 디바이스가 MSIX 패키지 애플리케이션용 원격 배포 대상인 경우에 사용됩니다. 서비스 이름은 SSH Server BrokerSSH Server Proxy입니다.

참고 항목

이 서비스는 GitHub에서 찾을 수 있는 Microsoft의 OpenSSH 구현이 아닙니다.

SSH 서비스를 활용하기 위해 디바이스 검색을 사용하여 핀 페어링을 허용할 수 있습니다. 다른 SSH 서비스를 실행하려는 경우 다른 포트에서 설정하거나 개발자 모드 SSH 서비스를 끌 수 있습니다. SSH 서비스를 끄려면 디바이스 검색을 해제합니다.

인증을 위한 암호를 수락하는 DevToolsUser 계정을 통해 SSH 로그인이 수행됩니다. 이 암호는 디바이스 검색 페어링 단추를 누른 후에 디바이스에 표시되는 PIN으로, PIN이 표시되는 동안에만 유효합니다. SFTP 하위 시스템은 Visual Studio로부터 느슨한 파일 배포가 설치되는 DevelopmentFiles 폴더를 수동 관리하는 데도 사용됩니다.

SSH 사용에 대한 주의 사항

Windows에서 사용되는 기존 SSH 서버는 아직 프로토콜을 준수하지 않습니다. SFTP 또는 SSH 클라이언트를 사용하는 데 특별한 구성이 필요할 수 있습니다. 특히, SFTP 하위 시스템은 버전 3 이하에서 실행되므로 이전 서버를 예상할 수 있도록 모든 연결 클라이언트를 구성해야 합니다. 이전 버전의 디바이스의 SSH 서버는 ssh-dssOpenSSH에서 지원이 중단된 공개 키 인증을 사용합니다. 이러한 디바이스를 연결하려면 ssh-dss를 수락하도록 SSH 클라이언트를 수동으로 구성해야 합니다.

디바이스 검색

디바이스 검색을 사용하는 경우 mDNS를 통해 디바이스가 네트워크의 다른 디바이스에 표시되도록 허용합니다. 이 기능을 사용하면 디바이스 검색을 사용하도록 설정한 직후에 나타나는 페어링 단추를 눌러서 이 디바이스에 페어링할 SSH PIN을 얻을 수 있습니다. 이 디바이스를 대상으로 하는 첫 번째 Visual Studio 배포를 완료하려면 이러한 PIN 프롬프트가 화면에 표시되어야 합니다.

Pair your device with Device Discovery

디바이스를 배포 대상으로 할 경우에만 디바이스 검색을 사용해야 합니다. 예를 들어 장치 포털을 사용하여 테스트용으로 휴대폰에 앱을 배포할 경우라면 휴대폰에서 디바이스 검색을 사용해야 하지만 개발 PC에서는 사용하지 않습니다.

Windows 탐색기, 원격 데스크톱 및 PowerShell에 최적화(데스크톱에만 해당)

데스크톱 디바이스 패밀리의 개발자용 설정 페이지에는 개발 작업을 위해 PC를 최적화하는 데 사용할 수 있는 설정으로 바로 가기가 있습니다. 슬라이더를 사용하면 이 단일 위치에서 설정을 쉽게 사용하거나 사용하지 않도록 설정할 수 있습니다.

Shortcuts for developers

주의

Windows 10 Mobile의 초기 버전에서 크래시 덤프 옵션은 개발자 설정 메뉴에 있었습니다. 이 옵션은 USB에서만 사용하지 않고 원격으로도 사용할 수 있도록 디바이스 포털로 이동되었습니다.

Windows 10 PC에서 Windows 10 디바이스로 앱을 배포할 수 있도록 해주는 몇 가지 도구가 있습니다. 두 디바이스는 유선 또는 무선으로 연결하여 동일한 네트워크 서브넷에 연결되거나 USB로 연결되어야 합니다. 이들 두 옵션 모두 앱 패키지(.appx 또는 .appxbundle)만 설치합니다. 인증서는 설치하지 않습니다.

  • Windows 애플리케이션 배포(WinAppDeployCmd) 도구를 사용합니다. 자세한 내용은 the WinAppDeployCmd 도구를 참조하세요.
  • 디바이스 포털을 사용하면 브라우저에서 Windows 10, 버전 1511 이상을 실행하는 모바일 디바이스로 배포할 수 있습니다. 장치 포털의 페이지를 사용하여 앱 패키지(.appx)를 업로드하고 디바이스에 설치할 수 있습니다.

개발자 모드 패키지 설치 실패

경우에 따라 네트워크 또는 관리 문제로 인해 개발자 모드가 제대로 설치되지 않습니다. 이 PC에 원격으로 배포하려는 경우, 다시 말해서 브라우저 또는 디바이스 검색에서 디바이스 포털을 사용하여 SSH를 설정하려면 개발자 모드 패키지가 필요하지만 로컬 배포에는 필요하지 않습니다. 이러한 문제가 발생하더라도 Visual Studio를 사용하여 앱을 로컬로 배포하거나 이 디바이스에서 다른 디바이스로 배포할 수 있습니다.

알려진 문제 포럼을 참조하여 이러한 문제에 대한 해결 방법 등을 찾을 수 있습니다.

참고 항목

개발자 모드가 제대로 설치되지 않으면 피드백 요청을 제출하는 것이 좋습니다.

  1. 피드백 허브 앱이 아직 없는 경우 앱을 설치하고 엽니다.
  2. 새 피드백 추가를 클릭합니다.
  3. 개발자 플랫폼 범주와 개발자 모드 하위 범주를 선택합니다.
  4. 필드를 입력하고(필요에 따라 스크린샷을 첨부할 수 있음) 제출을 클릭합니다.

피드백을 제출하면 발생한 문제를 Microsoft에서 해결하는 데 도움이 됩니다.

패키지 찾기 실패

개발자 모드 패키지를 Windows 업데이트에서 찾을 수 없습니다. 오류 코드 0x80004005. 자세한 정보.

이 오류는 네트워크 연결 문제, Enterprise 설정 또는 패키지 누락으로 인해 발생할 수 있습니다.

이 문제를 해결하려면

  1. 컴퓨터가 인터넷에 연결되었는지 확인

  2. 도메인에 가입된 컴퓨터를 사용하는 경우 네트워크 관리자에게 문의하세요. 모든 주문형 기능처럼 개발자 모드 패키지도 기본적으로 WSUS 2.1에서 차단됩니다. 현재 및 이전 버전에서 개발자 모드 패키지의 잠금을 해제하려면 WSUS에서 KB

    • 4016509
    • 3180030
    • 3197985
  3. 설정 → 업데이트 및 보안 → Windows 업데이트에서 Windows 업데이트를 확인합니다.

  4. 설정 → 시스템 → 앱 & 기능 → 선택적 기능 관리 → 기능 추가에서 Windows 개발자 모드 패키지가 있는지 확인합니다. 없는 경우 Windows는 컴퓨터에 적합한 패키지를 찾을 수 없습니다.

  5. 위 단계를 수행했으면, 개발자 모드를 비활성화했다가 재활성화하여 수정 항목을 확인합니다.

패키지 설치 실패

개발자 모드 패키지를 설치하지 못했습니다. 오류 코드 0x80004005. 자세한 정보.

이 오류는 사용 중인 Windows 빌드와 개발자 모드 패키지가 호환하지 않아 발생할 수 있습니다.

이 문제를 해결하려면

  1. 설정 → 업데이트 및 보안 → Windows 업데이트에서 Windows 업데이트를 확인합니다.
  2. 컴퓨터를 다시 시작하여 모든 업데이트가 적용되도록 합니다.

그룹 정책 또는 레지스트리 키를 사용하여 디바이스를 사용하도록 설정

대부분의 개발자의 경우 설정 앱을 사용하여 디바이스를 디버깅에 사용할 수 있도록 설정하려고 합니다. 자동화된 테스트와 같은 특정 시나리오에서 다른 방법으로 개발용 Windows 데스크톱 디바이스를 사용할 수 있습니다.

참고 항목

이러한 단계들은 SSH 서버를 사용하도록 설정하거나 원격 배포 및 디버깅을 위한 대상으로 허용하지 않습니다.

Windows 10 Home 또는 Windows 11 Home이 없다면 디바이스를 사용하도록 설정하기 위해 gpedit.msc를 사용하여 그룹 정책을 설정할 수 있습니다. 있다면, 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에서 Windows 10 버전 1511 이상으로 직접 업그레이드하는 경우에는 이 단계가 필요하지 않습니다.

개발자 라이선스를 등록 취소하려면

  1. 관리자 권한으로 PowerShell을 실행합니다.

  2. 다음 명령을 실행합니다.

    unregister-windowsdeveloperlicense
    

라이선스 등록을 취소한 이후에도 이 디바이스에서 계속 개발하려면 이 주제에 설명된 대로 디바이스를 개발용으로 설정해야 합니다. 그러지 않으면 앱을 디버그하거나 앱의 패키지를 만들려고 할 때 오류가 발생할 수 있습니다. 이 쿼리의 예제는 다음과 같습니다.

오류: DEP0700: 앱 등록에 실패했습니다.