Windows SDK

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

Tip

Windows App SDK
SDK til Windows-app indeholder et samlet sæt API'er og værktøjer, der er afkoblet fra operativsystemet og udgivet 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 nedeniveau 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

Det 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 eller hurtigere processor
  • 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

Windows appeksempler er nu tilgængelige via GitHub. Du kan gennemse koden på GitHub, klone en personlig kopi af lageret fra Git eller downloade et zip-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 for at være adaptiv, 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 version understøtter dem, men ellers tilbyder kun den funktionalitet, der er tilgængelig på den registrerede platformversion. Du kan finde oplysninger om implementering i artiklen Version adaptiv kode.

Produktbemærkninger og kendte problemer

Windows 10 SDK, version 2104
  • Api-ms-win-net-isolation-l1-1-0.lib er fjernet. Apps, der linkede til api-ms-win-net-isolation-l1-1-0.lib, kan skifte t OneCoreUAP.lib som erstatning.

  • Fjernet irprops.lib. Apps, der linkede til irprops.lib, kan skifte til bthprops.lib som en drop-in-erstatning.

  • 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 den nyeste understøttelse af Windows-kørsel API'er til dine .NET Framework 4.5+ og .NET Core 3.0+ biblioteker og apps. Hvis du vil have adgang til Windows 10 WinRT API Pack, skal du se Microsoft.Windows. SDK. Kontrakter nuget pakke.

  • Printf-serien af funktioner er nu i overensstemmelse med IEEE 754-afrundingsreglerne , når der udskrives nøjagtigt repræsenterelige flydende tal, og den afrundingstilstand, der anmodes om via kald til fesetround. Æ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 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 Meddelelseskompiler (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 man problemer med one-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 kædet sammen 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 opdateringer til sporingsforprocessor (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 tegnsæt med et enkelt byte. Dette kan medføre ændringer i funktionsmåden i de tilfælde, hvor inputfilerne ikke er i overensstemmelse med den aktuelle tegntabel. I 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å kodningstydighed.
  • TraceLoggingProvider.h-opdateringer:

    • Undgår problemer med en-definition-regel (ODR) som følge af 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ælpere 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.
  • Signering af dine apps. Device Guard-signering er en Device Guard-funktion, der er tilgængelig i Microsoft Store til Virksomheder og Education, 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 standardkonform C-preprocessoren i MSVC-compileren cl.exe (/Zc:preprocessor, der blev introduceret i VS 2019 v16.6).

  • Løst: "GdiplusTypes.h kompilerer 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 in assert.h
    • C11 stdalign.h
    • C11 stdnoreturn.h
  • Clang/LLVM til Windows v11-målretning arm64 er ikke kompatibel med den nyeste winnt.h

    • Som en løsning kan du bruge den tidligere version af Windows 10 SDK (build 19041) eller clang/LLVM til Windows v10, når du målretter ARM64-platforme
  • DirectXMath (herunder version 3.16 i denne version) er ikke kompatibel med Clang/LLVM til Windows på ARM64.

  • Nogle headerfiler er blevet ændret for at normalisere dem for 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.
    • Hvis du vil have Clang/LLVM til Windows builds, skal du føje -Wno-nonportable-system-include-path til CLI'en eller følgende #pragma i kilden for at understøtte både æ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øste uforudsigelige og svære at diagnosticere nedbrud, når du sammenkæder både paraplybiblioteker og oprindelige os-biblioteker (f.eks. onecoreuap.lib og kernel32.lib)
  • Løste et problem, der forhindrede AppVerifier i at arbejde
  • Løste det problem, der medførte, at WACK mislykkedes med "Opgaven kunne ikke aktivere HighVersionLie"

Flere ressourcer