Windows SDK

Windows SDK (10.0.22621) til Windows 11, version 22H2 indeholder de nyeste headere, biblioteker, metadata og værktøjer til oprettelse af Windows-programmer. Brug dette SDK til at bygge Universel Windows-platform (UWP) og Win32-programmer til Windows 11, version 22H2 og tidligere Windows-versioner.

Tip

Windows App SDK
Den SDK til Windows-app indeholder et samlet sæt API'er og værktøjer, der afkobles fra operativsystemet og frigives til udviklere via NuGet-pakker. Disse API'er og værktøjer kan bruges på en ensartet måde af alle skrivebordsapps på Windows 11 og i et lavere niveau til Windows 10, version 1809.

Introduktion

Du kan hente Windows SDK på to måder: Installér det fra denne side ved at vælge downloadlinket eller ved at vælge "Windows 11 SDK (10.0.22621.0)" i de valgfri komponenter i Visual Studio 2022 Installer. Før du installerer dette SDK:

Senest opdateret: 4. oktober 2021

Systemkrav

Windows SDK har følgende minimumsystemkrav:

Understøttede operativsystemer

  • Windows 10 version 1507 eller nyere: Home, Professional, Education og Enterprise (LTSB og S understøttes ikke for UWP)
  • Windows Server 2022, 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 på tidligere operativsystemer)

Hardwarekrav

  • 1,6 GHz processor eller hurtigere
  • 1 GB RAM
  • 4 GB ledig plads på harddisken

Yderligere SDK-krav

Installation på Windows 8.1 og tidligere operativsystemer kræver en opdatering til Universal C Runtime i Windows. Hvis du vil installere via Windows Update, skal du sørge for at installere de seneste anbefalede opdateringer og programrettelser fra Microsoft Update, før du installerer Windows SDK.

Eksempler

Eksempler på Windows-apps er nu tilgængelige via GitHub. Du kan gennemse koden på GitHub, klone en personlig kopi af lageret fra Git eller downloade et zippet arkiv med alle eksemplerne. Vi glæder os over feedback, så du er velkommen til at åbne et problem i lageret, hvis du har et problem eller spørgsmål. Disse eksempler er designet til at køre på stationære, mobile og fremtidige enheder, der understøtter UWP (Universel Windows-platform).

Tidligere SDK-versioner

Tidligere udgivne SDK'er og emulatorer, herunder opdateringsoplysninger, kan findes på arkivsiden.

API-lys op

Når du bruger nye API'er, kan du overveje at skrive din app, så den er tilpasset, så den kører korrekt på det bredeste udvalg af Windows-enheder. En adaptiv app "lyser op" med nye funktioner, uanset hvor enhederne og Windows-versionen understøtter dem, men ellers tilbyder den funktionalitet, der er tilgængelig på den registrerede platformversion. Du kan finde oplysninger om implementering i artiklen Version tilpasset kode.

Produktbemærkninger og kendte problemer

Windows SDK til Windows 11, version 22H2
  • Serviceopdatering 10.0.22621.755. Omfatter ARM64-understøttelse af VS 17.4-versionen
Windows 10 SDK, version 2104
  • Api-ms-win-net-isolation-l1-1-0.lib er fjernet. Apps, der linkede mod api-ms-win-net-isolation-l1-1-0.lib, kan skifte t OneCoreUAP.lib som en erstatning.

  • Irprops.lib er fjernet. Apps, der linkede til irprops.lib, kan skifte til bthprops.lib som en erstatning for en drop-in.

  • Flyttede ENUM tagServerSelection fra wuapicommon.h til wupai.h og fjernede headeren. Hvis du vil bruge ENUM tagServerSelection, skal du inkludere wuapi.h eller wuapi.idl.

  • Med Windows 10 WinRT API Pack kan du føje de nyeste Windows-kørsel API'er til understøttelse af dine biblioteker og apps i .NET Framework 4.5+ og .NET Core 3.0+. Hvis du vil have adgang til Windows 10 WinRT API Pack, skal du se nuget-pakken Microsoft.Windows.SDK.Contracts.

  • Printf-serien af funktioner er nu i overensstemmelse med IEEE 754-afrundingsreglerne , når der udskrives nøjagtigt repræsenterende flydende tal, og den afrundingstilstand, der anmodes om via kald til fesetround, anvendes. Ældre funktionsmåde er tilgængelig, når der linkes til legacy_stdio_float_rounding.obj.

  • Windows App Certification Kit. Der blev føjet flere nye API'er til listen 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 i dette kendte problem. Find flere opdateringer til test.

  • Opdateringer til Meddelelsescompiler (mc.exe):

    • Registrerer nu Unicode-byterækkefølgemærket (BOM) i .mc-filer. Hvis .mc-filen starter med en UTF-8-stykliste, læses den som en UTF-8-fil. Ellers læses den som en UTF-16LE-fil, hvis den starter med en UTF-16LE-stykliste. Hvis parameteren -u blev angivet, læses den som en UTF-16LE-fil. Ellers læses den ved hjælp af den aktuelle tegntabel (CP_ACP).
    • Nu undgår du problemer med en-definition-regel (ODR) i MC-genererede C/C++ ETW-hjælpere, der skyldes modstridende konfigurationsmakroer (f.eks. når to .cpp-filer med modstridende definitioner af MCGEN_EVENTWRITETRANSFER er sammenkædet med den samme binære fil, vil de MC-genererede ETW-hjælpere nu respektere definitionen af MCGEN_EVENTWRITETRANSFER i hver .cpp-fil i stedet for vilkårligt at vælge den ene eller den anden).
  • Windows Trace Preprocessor-opdateringer (tracewpp.exe):

    • Understøtter Unicode-inputfiler (.ini, .tpl og kildekode). Inputfiler, der starter med et UTF-8 eller UTF-16 byte order mark (BOM), læses som Unicode. Inputfiler, der ikke starter med en stykliste, læses ved hjælp af den aktuelle tegntabel (CP_ACP). Hvis kommandolinjeparameteren -UnicodeIgnore er angivet for bagudkompatibilitet, behandles filer, der starter med en UTF-16-stykliste, som tomme.
    • Understøtter Unicode-outputfiler (.tmh). Outputfiler kodes som standard ved hjælp af den aktuelle tegntabel (CP_ACP). Brug kommandolinjeparametre -cp:UTF-8 eller -cp:UTF-16 til at generere Unicode-outputfiler.
    • Ændring af funktionsmåde: tracewpp konverterer nu al inputtekst til Unicode, udfører behandling i Unicode og konverterer outputtekst til den angivne outputkodning. Tidligere versioner af tracewpp undgik Unicode-konverteringer og udførte tekstbehandling under forudsætning af et enkeltbytetegnsæt. Dette kan medføre ændringer af funktionsmåden i de tilfælde, hvor inputfilerne ikke er i overensstemmelse med den aktuelle tegntabel. I de tilfælde, hvor dette er et problem, kan du overveje at konvertere inputfilerne til UTF-8 (med BOM) og/eller bruge kommandolinjeparameteren -cp:UTF-8 for at undgå tvetydig kodning.
  • TraceLoggingProvider.h-opdateringer:

    • Undgår problemer med en-definition-regel (ODR), der skyldes modstridende konfigurationsmakroer (f.eks. når to .cpp-filer med modstridende definitioner af TLG_EVENT_WRITE_TRANSFER er kædet sammen med den samme binære fil, vil TraceLoggingProvider.h-hjælpene nu respektere definitionen af TLG_EVENT_WRITE_TRANSFER i hver .cpp-fil i stedet for vilkårligt at vælge den ene eller den anden).
    • I C++-kode er makroen TraceLoggingWrite blevet opdateret for at muliggøre bedre kodedeling mellem lignende hændelser ved hjælp af variadiske skabeloner.
  • Signere dine apps. Device Guard-signering er en Device Guard-funktion, der er tilgængelig i Microsoft Store til Virksomheder og Uddannelse, som gør det muligt for virksomheder at garantere, at alle apps kommer fra en kilde, der er tillid til. Se dokumentationen om Device Guard-signering.

  • SDK-headere er blevet opdateret for at løse fejl under kompilering ved hjælp af standardkonformant C-forbehandleren i MSVC-compilerens cl.exe (/Zc:preprocessor, der blev introduceret i VS 2019 v16.6).

  • Løst: "GdiplusTypes.h kompilerer ikke med NOMINMAX". Se Feedback til Visual Studio.

  • 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 til Windows v11, der er målrettet til 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 til Windows v10, når du målretter mod ARM64-platforme
  • DirectXMath (inklusive version 3.16 i denne version) er ikke kompatibel med Clang/LLVM til Windows på ARM64.

  • Nogle headerfiler blev ændret for at normalisere dem i filsystemer, hvor der skelnes mellem store og små bogstaver:

    • OAIdl.h, ObjIdl.h, ObjIdlbase.h, OCIdl.h, Ole2.h, OleAuto.h og OleCtl.h blev alle lavet med små bogstaver.
    • I forbindelse med Clang/LLVM til Windows-builds skal du føje -Wno-nonportable-system-include-path følgende til kommandolinjegrænsefladen eller følgende #pragma i kilden for at understøtte både den ældre version og den nyeste Windows 10 SDK uden advarsler:

    #ifdef __clang__

    #pragma clang diagnostic ignored "-Wnonportable-system-include-path"

    #endif

Windows 10 SDK, version 2004 serviceopdatering (udgivet 16/12/2020)

Denne version indeholder følgende filer. Hvis du støder på disse problemer, anbefaler vi, at du opdaterer din version af SDK'et så hurtigt som muligt for at undgå dem:

  • Løst uforudsigelige og svære at diagnosticere nedbrud, når du forbinder både paraplybiblioteker og oprindelige OS-biblioteker (f.eks. onecoreuap.lib og kernel32.lib)
  • Løste problem, der forhindrede AppVerifier i at fungere
  • Løste problem, der medførte, at WACK mislykkedes, med "Opgaven kunne ikke aktivere HighVersionLie"

Flere ressourcer

  • SDK-arkiv

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

  • Windows-blog

    Hold dig opdateret om de seneste SDK-flyafgange ved at abonnere på vores blog.