Windows SDK

Windows SDK (10.0.26100) til Windows 11 indeholder de nyeste overskrifter, biblioteker, metadata og værktøjer til oprettelse af Windows-programmer. Brug dette SDK til at bygge UWP- (Universal Windows Platform) og Win32-programmer til Windows 11, version 24H2 og tidligere Windows-versioner.

Drikkepenge

Windows App SDK-
Windows App SDK 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.26100.0)" i de valgfri komponenter i Visual Studio 2022 Installer. Før du installerer dette SDK:

Senest opdateret: september 2024

Systemkrav

Windows SDK har følgende minimumsystemkrav:

Understøttede operativsystemer

  • Windows 11, version 21h2 eller nyere: Home, Pro, Education og Enterprise (LTSC understøttes ikke for UWP)
  • Windows 10, version 1507 eller nyere: Home, Pro, Education og Enterprise (LTSB/LTSC- og S-tilstand 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-kørsel 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.

Prøver

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 (Universal Windows Platform).

Tidligere SDK-versioner

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

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å den bredeste matrix af Windows-enheder. En adaptiv app "lyser op" med nye funktioner, uanset hvor enhederne og Windows-versionen understøtter dem, men ellers kun tilbyder den funktionalitet, der er tilgængelig på den registrerede platformversion. Du kan finde oplysninger om implementering i artiklen version af adaptiv kode.

Produktbemærkninger og kendte problemer

Windows 11, Build 10.0.26100.1742 (udgivet 24-09-2024)

Version, der svarer til den offentlige version af Windows 11, version 24h2.

Windows 11, Build 10.0.26100 (udgivet 22-5-2024)

Indledende version af 10.0.26100-serien, der svarer til Prøveversionen af Windows 11, version 24h2.

Windows 11, Build 10.0.22621.3235 (udgivet 29/2/2024)

Serviceopdatering 10.0.22621.3235.

Windows 11, Build 10.0.22621.2428 (udgivet 24/10/2023)

Serviceopdatering 10.0.22621.2428.

Windows 11, version 22H2, Build 10.0.22621.1778

Opdatering 10.0.22621.1778. Fremhævede funktioner omfatter:

  • WindowTabManager-API'er gør det muligt for programmer med faneinddelte grænseflader at levere oplysninger om åbne faner til Windows Shell.
  • Opdateringer til HumanPresence-API'er for at forbedre brugervenligheden og tilføje nye indstillinger for sensorer, der understøtter egenskaber for menneskelig tilstedeværelse.
  • RemoteDesktop-API'er gør det muligt for programmer at skifte mellem et eksternt og lokalt skrivebord.
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 til api-ms-win-net-isolation-l1-1-0.lib, kan skifte t OneCoreUAP.lib som en erstatning.

  • Fjernede irprops.lib. 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-pakken kan du føje den nyeste understøttelse af Windows Runtime 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.Contracts nuget-pakken.

  • Printf-serien af funktioner, der nu er i overensstemmelse med IEEE 754-afrundingsregler, når der udskrives nøjagtigt repræsenterede 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 Message Compiler (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 one-definition-rule (ODR)-problemer i MC-genererede C/C++ ETW-hjælpeprogrammer, 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, respekterer de MC-genererede ETW-hjælpere nu definitionen af MCGEN_EVENTWRITETRANSFER i hver .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 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 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), der skyldes modstridende konfigurationsmakroer (f.eks. når to .cpp filer med modstridende definitioner af TLG_EVENT_WRITE_TRANSFER er sammenkædet med den samme binære fil, respekterer TraceLoggingProvider.h-hjælpefunktionerne nu 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 for Business and Education, som gør det muligt for virksomheder at garantere, at alle apps kommer fra en kilde, der er tillid til. Se dokumentationen til om Device Guard Signering.

  • SDK-headere er blevet opdateret for at løse fejl under kompilering ved hjælp af standardkonformant C-præprocessoren i MSVC-compilerens 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 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 ARM64-platforme
  • DirectXMath (herunder version 3.16 i denne version) er ikke kompatibel med Clang/LLVM til Windows på ARM64.

  • Nogle headerfilers store og små bogstaver blev ændret for at normalisere dem for filsystemer med forskel på store og små bogstaver:

    • OAIdl.h, ObjIdl.h, ObjIdlbase.h, OCIdl.h, Ole2.h, OleAuto.h og OleCtl.h blev alle gjort til små bogstaver.
    • For Clang/LLVM til Windows-builds skal du føje -Wno-nonportable-system-include-path 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

Serviceopdatering til Windows 10 SDK, version 2004 (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 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 fungere
  • Løste et problem, der medførte, at WACK mislykkedes med "Opgaven kunne ikke aktivere HighVersionLie"

Flere ressourcer