Windows 10 SDK

Windows 10, 버전 1809용 Windows 10 SDK는 Windows 10 앱을 빌드하기 위한 최신 헤더, 라이브러리, 메타데이터 및 도구를 제공합니다.

참고: Windows 10, 버전 1809 이상을 대상으로 하는 Windows 10 개발에는 Visual Studio 2017이 필요합니다. 이 SDK는 이전 버전의 Visual Studio에서는 검색되지 않습니다.

시작

Windows 10 SDK는 다음과 같은 두 가지 방법으로 얻을 수 있습니다. 이 웹 사이트에서 다운로드 링크를 선택하거나 Visual Studio 15.8 설치 관리자 선택적 구성 요소에서 이 버전의 Windows 10 SDK(10.0.17763.0)를 선택하여 설치할 수 있습니다.

이 SDK를 설치하기 전에 다음을 수행합니다.

  1. 이 항목의 모든 시스템 요구 사항을 검토합니다.
  2. 설치하기 전에 Visual Studio 2017 RTM을 종료합니다. Visual Studio가 실행되고 있으면 SDK 설치가 실패할 수 있습니다. 다음에 대해 알아보기 일반적인 도구 문제.
  3. 이 항목의 알려진 문제를 검토합니다.

시스템 요구 사항

Windows SDK의 최소 시스템 요구 사항은 다음과 같습니다.

지원되는 운영 체제

  • Windows 10 앱 개발(UWP)
    • Windows 10 버전 1507 이상: Home, Professional, Education 및 Enterprise(LTSB 및 S는 지원되지 않음)
    • Windows Server 2012 R2 (명령줄만) Windows Server 2016(명령줄만)
  • Win32 개발
    • Windows 10 버전 1507 이상
    • Windows Server 2016: Standard 및 Datacenter
    • Windows 8.1
    • Windows Server 2012 R2
    • Windows 7 SP1

(일부 도구는 이전 운영 체제에서 지원되지 않습니다.)

하드웨어 요구 사항

  • 1.6GHz 이상 프로세서
  • 1GB RAM
  • 사용 가능한 하드 디스크 공간 4GB

추가 SDK 요구 사항

Windows 8.1 및 이전 운영 체제에 설치하려면 KB2999226이 필요합니다. Windows 업데이트를 통해 설치하려면 Windows SDK를 설치하기 전에 Microsoft 업데이트의 최신 권장 업데이트 및 패치를 설치해야 합니다.

새로운 기능

Windows 10, 버전 1809용 Windows 10 SDK는 Windows 응용 프로그램을 개발하기 위한 흥미로운 새 API와 업데이트된 도구를 제공합니다. Windows 10, 버전 1809의 새로운 기능에 대해 자세히 알아보세요.

API

Windows 10, 버전 1809에서 도입된 새로운 API를 보려면 개발자를 위한 Windows 10 빌드 17763의 새로운 기능을 참조하세요.

도구

CPPWinRT

우선 C++/WinRT 헤더와 CPPWinRT 컴파일러(cppwinrt.exe)를 Windows 10, 버전 1803 SDK에 추가했습니다. 이 버전 1809의 릴리스에서 많은 사항이 개선 및 변경되었습니다. 예를 들어 코드 생성이 개선되고 Clang 및 VC++에서 더욱 엄격한 준수 모드와의 호환성이 개선되었으며 그 외 여러 사항이 업데이트되었습니다. 자세한 내용은 새로운 기능을 소개하고 요청 및 문제를 추적하는 GitHub 리포지토리를 참조하세요.

MC.EXE

메시지 컴파일러(MC, 또는 mc.exe)의 C/C++ ETW 코드 생성과 관련하여 중요한 몇 가지가 변경되었습니다.

  • -mof 매개 변수는 사용되지 않습니다. 이 매개 변수는 mc.exe에 Windows XP 및 이전 버전과 호환되는 ETW 코드를 생성하도록 지시합니다. "-mof" 매개 변수에 대한 지원은 mc.exe의 향후 버전에서 제거됩니다.
  • "-mof" 매개 변수가 사용되지 않기 때문에 이제 생성된 C/C 헤더는 명령줄에서 -km 또는 -um이 지정되었는지 여부와 상관없이 커널 모드 및 사용자 모드 모두와 호환됩니다. 헤더는 _ETW_KM_ 매크로를 사용하여 커널 모드를 위해 컴파일되는지 또는 사용자 모드를 위해 컴파일되는지 여부를 자동으로 확인하고 각 모드에 적합한 ETW API를 호출합니다.
  • -km과 -um의 유일한 차이는 -km으로 생성된 EventWrite[EventName] 매크로에는 활동 ID 매개 변수가 있는 반면 -um으로 생성된 EventWrite[EventName] 매크로는 활동 ID 매개 변수가 없다는 점입니다.
  • EventWrite[EventName] 매크로는 이제 EventWriteTransfer(사용자 모드) 또는 EtwWriteTransfer(커널 모드)를 호출하는 데 기본적으로 사용됩니다. 이전에 EventWrite[EventName] 매크로는 EventWrite(사용자 모드) 또는 EtwWrite(커널 모드)를 호출하는 데 기본적으로 사용되었습니다.
  • 생성된 헤더는 이제 여러 사용자 지정 매크로를 지원합니다. 예를 들어 생성된 매크로를 사용하여 EventWriteTransfer 이외의 것을 호출하는 경우 MCGEN_EVENTWRITETRANSFER 매크로를 설정할 수 있습니다.
  • 매니페스트는 새 특성을 지원합니다.
    • 이벤트 "이름": 지역화되지 않은 이벤트 이름입니다.
    • 이벤트 "특성": 파일 이름, 줄 번호, 구성 요소 이름, 함수 이름과 같은 이벤트에 대한 추가 키-값 메타데이터입니다.
    • 이벤트 "태그": 사용자 정의 의미 체계를 포함하는 28비트 값입니다(이벤트별).
    • 필드 "태그": 사용자 정의 의미 체계를 포함하는 28비트 값입니다(필드별 - "data" 또는 "struct" 요소에 적용 가능).
  • 이제 매니페스트(예: 공급자 그룹)에 "공급자 특성"을 정의할 수 있습니다. 매니페스트에서 공급자 특성을 사용하는 경우 EventRegister[ProviderName] 매크로는 자동으로 이를 등록합니다.
  • MC는 이제 지역화된 메시지 파일에 문자열이 없는 경우 오류를 보고합니다. (이전에 MC는 손상된 메시지 리소스를 자동으로 생성했습니다.)
  • MC는 이제 -cp utf-8 또는 -cp utf-16 매개 변수를 사용하여 유니코드(utf-8 또는 utf-16) 출력을 생성할 수 있습니다.

MSIX 지원

Windows SDK 도구가 새로운 MSIX 형식을 지원하도록 업데이트되었습니다. 이제 MakeAppx 도구를 사용하여 MSIX로 응용 프로그램을 패키징하고 Windows 앱 인증 키트를 사용하여 MSIX 패키지의 유효성을 검사할 수 있습니다.

VM 상태 덤프

VmSavedStateDumpProvider.dll은 Hyper-V 가상 머신용으로 저장된 상태 파일에서 덤프 관련 내용을 추출하는 데 도움이 되는 API 모음을 제공합니다. 이제 포함된 VmSavedStateDumpProvider.lib를 사용하여 API에 액세스할 수 있습니다.

자세한 내용은 설명서를 참조하세요.

Windows 디버거

Ipv6

릴리스된 WinDbg 미리 보기 버전을 다운로드할 수 있습니다. KDNET IPv6 지원 및 설명서 업데이트는 Windows용 디버깅 도구 블로그의 지침을 따르세요.

새 디버거 데이터 모델 API

dbgmodel.h 헤더를 사용하여 디버거 자동화를 지원하는 새로운 개체 지향 디버거 데이터 모델 인터페이스를 사용할 수 있습니다. 디버거 데이터 모델은 JavaScript, NatVis, C++ 등 모든 새로운 디버거 확장의 작동 방식, 즉 디버거에서 정보를 소비하는 방식과 디버거와 다른 확장 프로그램에서 액세스할 수 있는 정보를 생성하는 방식 모두에 핵심적인 확장 가능한 개체 모델입니다. 데이터 모델 API에 기록되는 구문은 디버거의 dx 식 계산기와 JavaScript 확장 또는 C++ 확장 모두에서 제공됩니다. 설명서는 디버거 데이터 모델 C++ 인터페이스 개요dbgmodel.h 헤더를 참고하세요.

Windows Performance Toolkit

최신 버전의 Windows Performance Recorder(WPR)에서는 이제 TraceMergeProperties의 사용자 지정 이벤트와 함께 WPR 프로필(WPRP)이 예상대로 작동합니다. 사용자 지정 WPRP에 빈 사용자 지정 이벤트 집합을 포함하는 TraceMergeProperties XML 요소가 있는 경우 더 이상 기본 사용자 지정 이벤트(ImageID, WinSat 및 기타 기본값) 집합을 포함하지 않습니다.

최신 WPR이 이전 버전과 동일하게 동작하기를 원한다면 다음 특성을 TraceMergeProperties 요소의 일부로 포함하세요. Base=”TraceMerge_Default”

최신 버전의 Windows Performance Analyzer(WPA)에서 Windows 8 설치를 실행하는 경우 특정 구성 요소에 Microsoft .NET Framework 4.5.2가 필요합니다. WPA를 올바르게 사용하려면 https://www.microsoft.com/en-us/download/details.aspx?id=48130에서 최신 버전의 .NET을 설치할 수 있습니다.

샘플

이제 GitHub를 통해 Windows 10 앱 샘플을 사용할 수 있습니다. GitHub에서 코드를 찾거나, Git에서 리포지토리의 개별 사본을 복제하거나, 모든 샘플의 압축 아카이브를 다운로드할 수 있습니다. Microsoft는 어떤 사용자 의견이든 환영하므로 문제가 있거나 궁금한 사항이 있는 경우 언제든지 리포지토리 내에서 문제를 여세요. 이러한 샘플은 UWP(유니버설 Windows 플랫폼)을 지원하는 데스크톱, 모바일 및 미래 장치에서 실행되도록 디자인되었습니다.

이전 SDK 버전

업데이트 세부 정보를 비롯하여 이전에 출시된 SDK 및 에뮬레이터는 아카이브 페이지에서 찾을 수 있습니다.

API 활용

새로운 API를 사용하는 경우 최대한 많은 Windows 10 기기에서 올바르게 실행할 수 있도록 적응형으로 앱을 작성하는 것을 고려해 보세요. 적응형 앱을 사용하면 장치가 어디에 있든지 이를 지원하는 Windows에서 새로운 기능을 "활용"할 수 있으며, 이를 사용하지 않으면 감지된 플랫폼 버전에서만 사용할 수 있는 기능만을 제공합니다. 구현에 관한 자세한 내용은 API 계약을 사용하여 동적으로 기능 검색(10 by 10)을 참조하세요. 최신 릴리스 정보나 도구 관련 문제는 Windows 개발자 포럼을 참조하세요.