Windows 10 SDK

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

이 SDK를 사용하여 Windows 10, 버전 2004 및 이전 Windows 릴리스용 UWP(유니버설 Windows 플랫폼) 및 Win32 애플리케이션을 빌드할 수 있습니다.

시작

Windows 10 SDK는 두 가지 방법으로 다운로드할 수 있습니다. 한 가지 방법은 이 페이지의 다운로드 링크를 선택하여 설치하는 것이고, 다른 한 가지 방법은 Visual Studio 2019 설치 관리자의 선택적 구성 요소에서 “Windows 10 SDK(10.0.19041.0)”를 선택하여 설치하는 것입니다.

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

  1. 아래의 모든 시스템 요구 사항을 검토합니다.
  2. 설치하기 전에 Visual Studio 2019를 종료합니다.
  3. 아래의 알려진 문제를 검토합니다.

시스템 요구 사항

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

지원되는 운영 체제

  • UWP(유니버설 Windows 플랫폼) 앱 개발
    • Windows 10 버전 1507 이상: Home, Professional, Education 및 Enterprise(LTSB 및 S는 지원되지 않음)
    • Windows Server 2019, Windows Server 2016 및 Windows Server 2012 R2(명령줄만)
  • 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, 버전 2004용 Windows 10 SDK는 Windows 애플리케이션을 개발하는 데 필요한 흥미로운 새 API와 업데이트된 도구를 제공합니다. Windows 10, 버전 2004의 새로운 기능에 대해 자세히 알아보세요.

API

Windows 10, 버전 2004에 도입된 새로운 API를 확인하려면 개발자용 Windows 10, 빌드 19041의 새로운 기능을 참조하세요.

api-ms-win-net-isolation-l1-1-0.lib 제거

이 릴리스에서는 api-ms-win-net-isolation-l1-1-0.lib가 Windows SDK에서 제거되었습니다. api-ms-win-net-isolation-l1-1-0.lib에 대해 연결 중이던 앱은 대체로 OneCoreUAP.lib로 전환할 수 있습니다.

irprops.lib 제거

이 릴리스에서는 irprops.lib가 Windows SDK에서 제거되었습니다. irprops.lib에 대해 연결 중이던 앱은 즉시 대체로 bthprops.lib로 전환할 수 있습니다.

wuapicommon.h 및 wuapicommon.idl 제거

이 릴리스에서는 wuapicommon.h의 ENUM tagServerSelection이 wupai.h로 이동되었으며 해당 헤더가 제거되었습니다. ENUM tagServerSelection을 사용하려면 wuapi.h 또는 wuapi.idl을 포함해야 합니다.

Windows 10 WinRT API 팩

Windows 10 WinRT API 팩을 사용하면 최신 Windows 런타임 API 지원을 .NET Framework 4.5 이상 및 .NET Core 3.0 이상 라이브러리 및 앱에 추가할 수 있습니다. Windows 10 WinRT API 팩에 액세스하려면 Microsoft.Windows.SDK.Contracts nuget 패키지를 참조하세요.

도구

Windows 앱 인증 키트

Windows SDK의 이 릴리스에서는 앱 인증 키트 및 Windows 스토어의 지원되는 API 목록에 몇 가지 새 API가 추가되었습니다. 지원되는 목록에 Visual Studio에서 회색으로 표시되거나 비활성화된 것으로 표시되는 API가 있는 경우 소스 파일을 약간 변경하여 해당 API에 액세스할 수 있습니다. 자세한 내용은 이 알려진 문제를 참조하세요.

API를 추가한 것 외에 테스트가 다음과 같이 변경되었습니다.

업데이트된 테스트:

  • ValidateContentUriRules는 정보 제공용으로만 제공됩니다. 테스트 오류가 경고로 표시됩니다.

제거된 테스트

  • 웹앱에 대한 WebView WinRT 액세스 테스트
  • UWP 앱에 대한 PackageSizeCheck 테스트
  • 데스크톱 브리지 앱에 대한 SupportedApi 테스트
  • UWP 앱에 대한 BinScope의 AppContainerCheck 테스트
  • 모든 앱 유형에 대한 ServiceWorker 검사

새 테스트

  • 높은 DPI 테스트. 데스크톱 브리지 앱에 대한 새 테스트는 앱에서 DPI 인식 기능을 사용하는지를 확인하고 지정되지 않은 경우 경고합니다. 이 테스트는 사용자가 앱이 모니터당 DPI를 인식하도록 설정하기를 권장합니다. DPI에 대한 자세한 내용은 High DPI Desktop Application Development on Windows(Windows에서의 높은 DPI 데스크톱 애플리케이션 개발)를 참조하세요.

메시지 컴파일러(mc.exe)

업데이트는 다음과 같습니다.

  • 이제 .mc 파일에서 유니코드 BOM(바이트 순서 표시)을 검색합니다. .mc 파일이 UTF-8 BOM으로 시작하는 경우 UTF-8 파일로 읽힙니다. 그렇지 않고 UTF-16LE BOM으로 시작하는 경우 UTF-16LE 파일로 읽힙니다. -u 매개 변수가 지정된 경우 UTF-16LE 파일로 읽힙니다. 그렇지 않으면 현재 코드 페이지(CP_ACP)를 사용하여 읽힙니다.
  • 이제 충돌하는 구성 매크로로 인해 MC 생성 C/C++ ETW 도우미에서 발생하는 ODR(단일 정의 규칙) 문제를 방지합니다(예: MCGEN_EVENTWRITETRANSFER 정의가 충돌하는 두 개의 .cpp 파일이 같은 이진에 연결된 경우 이제 MC 생성 ETW 도우미가 임의로 둘 중 하나를 선택하는 대신 각 .cpp 파일의 MCGEN_EVENTWRITETRANSFER 정의를 적용함).

Windows 추적 전처리기(tracewpp.exe)

업데이트는 다음과 같습니다.

  • 이제 유니코드 입력(.ini, .tpl 및 소스 코드) 파일을 지원합니다. UTF-8 또는 UTF-16 BOM(바이트 순서 표시)으로 시작하는 입력 파일은 유니코드로 읽힙니다. BOM으로 시작하지 않는 입력 파일은 현재 코드 페이지(CP_ACP)를 사용하여 읽힙니다. 이전 버전과의 호환성을 위해 -UnicodeIgnore 명령줄 매개 변수가 지정된 경우 UTF-16 BOM으로 시작하는 파일은 비어 있는 것으로 처리됩니다.
  • 이제 유니코드 출력(.tmh) 파일을 지원합니다. 기본적으로 출력 파일은 현재 코드 페이지(CP_ACP)를 사용하여 인코딩됩니다. 명령줄 매개 변수 -cp:UTF-8 또는 -cp:UTF-16을 사용하여 유니코드 출력 파일을 생성할 수 있습니다.
  • 동작 변경: 이제 tracewpp는 모든 입력 텍스트를 유니코드로 변환하고, 유니코드로 처리를 수행하고, 출력 텍스트를 지정된 출력 인코딩으로 변환합니다. 이전 버전의 tracewpp는 유니코드 변환을 수행하지 않고 싱글바이트 문자 집합을 가정하여 텍스트 처리를 수행했습니다. 따라서 입력 파일이 현재 코드 페이지를 준수하지 않는 경우 동작이 변경될 수 있습니다. 이것이 문제가 되는 경우 입력 파일을 UTF-8로 변환하거나(BOM 포함), -cp:UTF-8 명령줄 매개 변수를 사용하여 인코딩 모호성을 방지하는 것이 좋습니다.

TraceLoggingProvider.h

업데이트는 다음과 같습니다.

  • 이제 충돌하는 구성 매크로로 인해 발생하는 ODR(단일 정의 규칙) 문제를 방지합니다(예: TLG_EVENT_WRITE_TRANSFER 정의가 충돌하는 두 개의 .cpp 파일이 같은 이진에 연결된 경우 이제 TraceLoggingProvider.h 도우미가 임의로 둘 중 하나를 선택하는 대신 각 .cpp 파일의 TLG_EVENT_WRITE_TRANSFER 정의를 적용함).
  • C++ 코드에서 variadic 템플릿을 사용하는 비슷한 이벤트 간 코드 공유를 향상하기 위해 TraceLoggingWrite 매크로가 업데이트되었습니다.

Device Guard 서명으로 앱에 서명

앱에 더 쉽게 서명할 수 있습니다. Device Guard 서명은 비즈니스 및 교육용 Microsoft Store에서 사용할 수 있는 Device Guard 기능입니다. 엔터프라이즈는 서명을 통해 모든 앱이 신뢰할 수 있는 출처에서 제공되는 것임을 보장할 수 있습니다. Microsoft의 목표는 MSIX 패키지에 더 쉽게 서명할 수 있도록 하는 것입니다. Device Guard 서명에 관한 설명서를 참조하세요.

샘플

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

이전 SDK 버전

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

API 활용

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

피드백 및 알려진 문제

알려진 문제에 대한 피드백 및 업데이트는 개발자 포럼을 참조하세요.

새 개발자 기능 요청은 피드백 허브 앱을 통해 “개발자 플랫폼/API” 범주로 제출하세요.

추가 리소스

다운로드 및 도구

최신 버전의 Visual Studio 및 Windows 10 개발 도구를 다운로드하세요.

자세한 정보

SDK 아카이브

이전 버전의 Windows SDK 및 기타 도구를 찾아보세요.

아카이브 보기

Windows 블로그

Windows 블로그를 구독하여 최신 SDK 플라이트 정보를 놓치지 말고 확인하세요.

SDK 플라이트 뉴스 확인

Windows 수명 주기 팩트 시트

Windows 릴리스 업데이트 주요 날짜와 지원 종료일을 확인하세요.

팩트 시트 보기