Windows SDK

Windows SDK (10.0.22000) til Windows 11 indeholder de nyeste headere, biblioteker, metadata og værktøjer til at oprette Windows-programmer. Brug dette SDK til at oprette UWP-programmer (Universel Windows-platform) og Win32-programmer til Windows 11 og tidligere Windows-versioner.

Introduktion

Du kan få dette Windows SDK på to måder: Installér det fra denne side ved at klikke på downloadlinket, eller vælg "Windows 11 SDK (10.0.22000)" blandt de valgfrie komponenter i installationsprogrammet til Visual Studio 2019.

Før du installerer dette SDK:

  1. Gennemse alle systemkrav
  2. Afslut Visual Studio forud for installationen.
  3. Gennemse produktbemærkninger og kendte problemer.

Systemkrav

Minimumsystemkravene for Windows SDK er følgende:

Understøttede operativsystemer

  • Udvikling af UWP-programmer (Universel Windows-platform)
    • Windows 10 version 1507 eller nyere: Home, Professional, Education og Enterprise (LTSB og S understøttes ikke)
    • Windows Server 2019, Windows Server 2016 og Windows Server 2012 R2 (kun kommandolinje)
  • Udvikling af Win32-programmer
    • Windows 10 version 1507 eller nyere
    • Windows Server 2019, Windows Server 2016 og Windows Server 2012 R2 (kun kommandolinje)
    • Windows 8.1
    • Windows 7 SP1

Ikke alle værktøjer understøttes i tidligere operativsystemer.

Hardwarekrav

  • 1,6 GHz eller hurtigere processor
  • 1 GB RAM
  • 4 GB ledig harddiskplads

Yderligere SDK-krav

Installation på Windows 8.1 og tidligere operativsystemer kræver KB2999226. Hvis du vil installere via Windows Update, skal du sørge for at installere de nyeste anbefalede opdateringer og programrettelser fra Microsoft Update, før du installerer Windows SDK.

Nyheder

Med Windows SDK til Windows 11 kan du opdatere dine programmer til den nyeste version af Windows-operativsystemet. Få mere at vide om de nye funktioner i Windows 11.

Du kan se de nye API'er, der introduceres med Windows 11, i Nye API'er i Windows 11, build 22000.

Genopbyg de binære filer i Windows 11 på selve ARM-operativsystemet med ARM64EC, så enhver systemkode, der indlæses af x64-programmer, kører med den oprindelige hastighed. Drag fordel af ARM64EC til trinvist at skifte dit program til at køre med oprindelig hastighed på ARM, også selvom du har afhængigheder eller plug-ins, der endnu ikke understøtter ARM. Læs bekendtgørelsen.

Eksempler

Eksempler på Windows-apps er nu tilgængelige via GitHub. Du kan gennemse koden på GitHub, klone en personlig kopi af lageret ved hjælp af Git eller downloade en ZIP-fil med alle eksemplerne. Vi værdsætter feedback, så du er velkommen til at oprette forespørgsler i lageret, hvis du har et problem eller spørgsmål. Disse eksempler er udviklet til at køre på computer, mobil og fremtidige enheder, der understøtter Universel Windows-platform (UWP).

Tidligere SDK-versioner

Du kan finde de tidligere udsendte SDK'er og emulatorer, herunder opdateringsoplysninger, på arkivsiden.

API-forbedringer

Når du bruger nye API'er, bør du overveje at gøre dit program adaptivt, så det kører korrekt på flest mulige Windows-enheder. Et adaptivt program trives med nye funktioner, hvor enhederne og Windows-versionen understøtter dem, men indeholder derudover kun den funktionalitet, som er tilgængelig på den registrerede platformsversion. Du kan få flere implementeringsoplysninger i artiklen om versionstilpasset kode.

Produktbemærkninger og kendte problemer

Windows 10 SDK, version 2104

  • api-ms-win-net-isolation-l1-1-0.lib blev fjernet. Programmer, der var linket til api-ms-win-net-isolation-l1-1-0.lib, kan skifte til OneCoreUAP.lib som erstatning.
  • irprops.lib blev fjernet. Programmer, der var linket til irprops.lib, kan skifte til bthprops.lib som en umiddelbar erstatning.
  • ENUM tagServerSelection blev flyttet fra wuapicommon.h til wupai.h, og headeren blev fjernet. Hvis du vil bruge ENUM tagServerSelection, skal du inkludere wuapi.h eller wuapi.idl.
  • Med Windows 10 WinRT API-pakken kan du føje understøttelsen af de nyeste Windows Runtime-API'er til dine .NET Framework 4.5+- og .NET Core 3.0+-biblioteker og programmer. Hvis du vil have adgang til Windows 10 WinRT API-pakken, skal du se under Microsoft.Windows.SDK.Contracts NuGet-pakke.
  • Printf-serien af funktioner overholder nu IEEE 754-afrundingsreglerne i forbindelse med udskrivning af nøjagtigt repræsenterende flydende tal. Den overholder desuden den anmodede afrundingstilstand via kald til fesetround. Den tidligere funktionsmåde er tilgængelig, når du linker til legacy_stdio_float_rounding.obj.
  • Windows App Certification Kit. Adskillige nye API'er blev føjet til denne liste over understøttede API'er i App Certification Kit og Windows Store. Hvis der er API'er på den understøttede liste, der vises nedtonet eller deaktiveret i Visual Studio, kan du foretage en lille ændring af kildefilen for at få adgang til dem. Du kan finde flere oplysninger under dette kendte problem. Find flere opdateringer til test.
  • Opdateringer til Message Compiler (mc.exe):
    • Registrerer nu Unicode-byterækkefølgemærket (BOM) i .mc-filer. Hvis .mc-filen starter med et UTF-8 BOM, læses den som en UTF-8-fil. Hvis den derimod starter med et UTF-16LE BOM, læses den som en UTF-16LE-fil. Hvis -u-parameteren er angivet, læses den som en UTF-16LE-fil. Ellers læses den ved hjælp af den aktuelle kodeside (CP_ACP).
    • Undgår nu problemer med en-definitions-regel (ODR) i MC-genererede C/C++ ETW-hjælpere, der skyldes konfliktende konfigurationsmakroer (f.eks. hvis to .cpp-filer med konfliktende definitioner af MCGEN_EVENTWRITETRANSFER linkes til samme binære fil, vil de MC-genererede ETW-hjælpere nu respektere definitionen af MCGEN_EVENTWRITETRANSFER i hver enkelt .cpp-fil i stedet for vilkårligt at vælge den ene eller den anden).
  • Opdateringer til Windows Trace Preprocessor (tracewpp.exe):
    • Understøtter Unicode-inputfiler (.ini, .tpl og kildekode). Inputfiler, der starter med et UTF-8- eller UTF-16-byterækkefølgemærke (BOM), læses som Unicode. Inputfiler, der ikke starter med et BOM, læses ved hjælp af den aktuelle kodeside (CP_ACP). Hvis kommandolinjeparameteren -UnicodeIgnore er angivet, behandles filer, der starter med et UTF-16 BOM, som tomme af hensyn til bagudkompatibilitet.
    • Understøtter Unicode-outputfiler (.tmh). Som standard kodes outputfiler ved hjælp af den aktuelle kodeside (CP_ACP). Brug kommandolinjeparametrene -cp:UTF-8 eller -cp:UTF-16 til at generere Unicode-outputfiler.
    • Ændring i funktionsmåde: tracewpp konverterer nu al inputtekst til Unicode, behandler i Unicode og konverterer outputtekst til den angivne outputkodning. Tidligere versioner af tracewpp undgik Unicode-konverteringer og udførte tekstbehandling ved at anvende et enkeltbytetegnsæt. Det kan medføre ændringer i funktionsmåden i tilfælde, hvor inputfilerne ikke stemmer overens med den aktuelle kodeside. I tilfælde, hvor dette udgør et problem, kan du overveje at konvertere inputfilerne til UTF-8 (med BOM) og/eller bruge kommandolinjeparameteren -cp:UTF-8 for at undgå uklarheder i forhold til kodningen.
  • Opdateringer til TraceLoggingProvider.h:
    • Undgår problemer med ODR (one-definition-rule), der skyldes konfliktende konfigurationsmakroer (f.eks. hvis to .cpp-filer med konfliktende definitioner af TLG_EVENT_WRITE_TRANSFER linkes til samme binære fil, vil TraceLoggingProvider.h-hjælpere nu respektere definitionen af TLG_EVENT_WRITE_TRANSFER i hver enkelt .cpp-fil i stedet for vilkårligt at vælge den ene eller den anden).
    • I C++-kode er makroen TraceLoggingWrite blevet opdateret for bedre at kunne dele kode mellem ens hændelser ved hjælp af variadic-skabeloner.
  • Signering af dine programmer. Device Guard-signering er en funktion i Device Guard, der er tilgængelig i Microsoft Store til Virksomheder og Uddannelse, og som giver virksomheder mulighed for at garantere, at hvert program kommer fra en kilde, der er tillid til. Se i dokumentationen til Device Guard-signering.
  • SDK-headere er blevet opdateret til at håndtere fejl under kompilering ved hjælp af den standardkompatible C-preprocessor i MSVC-compileren cl.exe (/Zc:preprocessor, introduceret i VS 2019 v16.6).
  • Rettet: "GdiplusTypes.h kompileres ikke med NOMINMAX". Se Visual Studio-feedback.
  • Når du bygger med /std:c11 eller /std:c17, får du nu:
    • C99 tgmath.h
    • C11 static_assert i assert.h
    • C11 stdalign.h
    • C11 stdnoreturn.h
  • Clang/LLVM for Windows v11, der er målrettet ARM64, er ikke kompatibel med den nyeste winnt.h
    • Du kan løse problemet ved at bruge den tidligere version af Windows 10 SDK (build 19041) eller clang/LLVM for Windows v10, når det er målrettet ARM64-platforme
  • DirectXMath (herunder version 3.16 i denne version) er ikke kompatibel med Clang/LLVM for Windows på ARM64.
  • Store og små bogstaver i nogle headerfiler er blevet ændret for at normalisere dem til filsystemer, hvor der er forskel på store og små bogstaver:
    • OAIdl.h, ObjIdl.h, ObjIdlbase.h, OCIdl.h, Ole2.h, OleAuto.h, and OleCtl.h blev alle ændret til små bogstaver.
    • For Clang/LLVM for Windows-builds kan du for at understøtte både ældre versioner og det nyeste Windows 10 SDK føje "-Wno-nonportable-system-include-path" til kommandolinjegrænsefladen eller nedenstående #pragma i kilden:

      #ifdef __clang__
      #pragma clang-diagnosticering ignorerede "-Wnonportable-system-include-path"
      #endif

Tjenesteopdatering til Windows 10 SDK, version 2004 (udgivet den 16-12-2020)

    Denne version indeholder følgende filer. Hvis du støder på følgende problemer, anbefaler vi, at du opdaterer din version af SDK hurtigst muligt for at undgå dem:
  • Problem med nedbrud, der er uforudsigelige og svære at diagnosticere, og som opstår, når både paraplybiblioteker og lokale OS-biblioteker (f. eks. onecoreuap. lib og Kernel32. lib) sammenkædes, er løst.
  • Problem, der forhindrede AppVerifier i at fungere, er løst
  • Problem, der medførte, at WACK mislykkedes med "Opgaven kunne ikke aktivere HighVersionLie", blev løst

Giv feedback

Du kan finde oplysninger om kendte problemer i Spørgsmål og svar om winapi-sdk.

Anmodninger om nye udviklerfunktioner skal sendes via Feedback Hub-programmet under kategorien "Udviklerplatform/API".

Flere ressourcer

Downloads og værktøjer

Få de seneste udgivelser af udviklingsværktøjer til Visual Studio og Windows 10.

FÅ MERE AT VIDE

SDK-arkiv

Find tidligere versioner af Windows SDK og andre værktøjer.

SE ARKIV

Windows-blog

Hold dig ajour om de nyeste SDK-flights ved at abonnere på vores blog.

FÅ NYHEDER OM SDK-FLIGHT

Brochure om Windows-livscyklus

Find de vigtigste datoer for udgivelse af Windows-opdateringer og ophør af support.

SE BROCHURE