Windows SDK

Den Windows SDK (10.0.22621) for Windows 11 inneholder de nyeste overskriftene, bibliotekene, metadataene og verktøyene for bygging av Windows-programmer. Bruk denne SDK-en til å bygge Universell Windows-plattform (UWP) og Win32-programmer for Windows 11, versjon 23H2 og tidligere Windows-versjoner.

Tips

Windows-app SDK
Den Windows-app SDK gir et enhetlig sett med API-er og verktøy som kobles fra operativsystemet og utgis til utviklere via NuGet-pakker. Disse API-ene og verktøyene kan brukes på en konsekvent måte av alle skrivebordsprogrammer på Windows 11 og nedovernivå for å Windows 10, versjon 1809.

Kom i gang

Du kan få Windows SDK på to måter: Installer den fra denne siden ved å velge nedlastingskoblingen eller ved å velge «Windows 11 SDK (10.0.22621.0)» i de valgfrie komponentene i Visual Studio 2022 Installer. Før du installerer denne SDK-en:

Sist oppdatert: februar 2024

Systemkrav

Den Windows SDK har følgende minimumskrav til systemet:

Operativsystemer som støttes

  • Windows 10 versjon 1507 eller nyere: Home, Professional, Education og Enterprise (LTSB og S støttes ikke for UWP)
  • Windows Server 2022, Windows Server 2019, Windows Server 2016 og Windows Server 2012 R2 (bare kommandolinje)
  • Windows 8.1
  • Windows 7 SP1

(Ikke alle verktøy støttes på tidligere operativsystemer)

Maskinvare

  • 1,6 GHz eller raskere prosessor
  • 1 GB RAM
  • 4 GB ledig plass på harddisken

Ytterligere SDK-krav

Installasjon på Windows 8.1 og tidligere operativsystemer krever en oppdatering for Universal C Runtime i Windows. Hvis du vil installere gjennom Windows Update, må du installere de nyeste anbefalte oppdateringene og oppdateringene fra Microsoft Update før du installerer Windows SDK.

Eksempler

Eksempler på Windows-apper er nå tilgjengelige via GitHub. Du kan bla gjennom koden på GitHub, klone en personlig kopi av repositoriet fra Git, eller laste ned et zippet arkiv av alle eksemplene. Vi tar gjerne imot tilbakemeldinger, så du kan gjerne åpne et problem i repositoriet hvis du har et problem eller spørsmål. Disse eksemplene er utformet for å kjøre på stasjonære, mobile og fremtidige enheter som støtter Universell Windows-plattform (UWP).

Tidligere SDK-versjoner

Tidligere utgitte SDK-er og emulatorer, inkludert oppdateringsdetaljer, finner du på arkivsiden.

API lyser opp

Når du bruker nye API-er, bør du vurdere å skrive appen for å være adaptiv, slik at den kjører riktig på den bredeste matrisen av Windows-enheter. En adaptiv app "lyser opp" med nye funksjoner uansett hvor enhetene og Windows-versjonen støtter dem, men tilbyr ellers bare funksjonaliteten som er tilgjengelig på den oppdagede plattformversjonen. Hvis du vil ha mer informasjon om implementering, kan du se artikkelen om adaptiv kode for versjon.

Produktmerknader og kjente problemer

Windows 11, bygg 10.0.22621.3235 (utgitt 29.02.2024)

Vedlikeholdsoppdatering 10.0.22621.3235.

Windows 11, bygg 10.0.22621.2428 (utgitt 24.10.2023)

Vedlikeholdsoppdatering 10.0.22621.2428.

Windows 11, versjon 22H2, bygg 10.0.22621.1778

Oppdatering 10.0.22621.1778. Uthevede funksjoner inkluderer:

  • WindowTabManager API-er gjør det mulig for programmer med fanebaserte grensesnitt å gi informasjon om åpne faner i Windows-skallet.
  • Oppdateringer til HumanPresence API-er for å forbedre brukervennligheten og legge til nye innstillinger for sensorer som støtter menneskelige tilstedeværelsesevner.
  • RemoteDesktop-API-er gjør det mulig for programmer å bytte mellom et eksternt og lokalt skrivebord.
Windows SDK for Windows 11, versjon 22H2
  • Vedlikeholdsoppdatering 10.0.22621.755. Inkluderer ARM64-støtte for VS 17.4-utgivelsen
Windows 10 SDK, versjon 2104
  • Fjernet api-ms-win-net-isolation-l1-1-0.lib. Apper som koblet mot api-ms-win-net-isolation-l1-1-0.lib kan bytte t OneCoreUAP.lib som en erstatning.

  • Fjernet irprops.lib. Apper som koblet mot irprops.lib, kan bytte til bthprops.lib som erstatning for levering.

  • Flyttet ENUM tagServerSelection fra wuapicommon.h til wupai.h og fjernet toppteksten. Hvis du vil bruke ENUM-kodenServerSelection, må du inkludere wuapi.h eller wuapi.idl.

  • Med Windows 10 WinRT API Pack kan du legge til de nyeste Windows-kjøretid API-ene som støttes i .NET Framework 4.5+- og .NET Core 3.0+-biblioteker og -apper. Hvis du vil ha tilgang til Windows 10 WinRT API Pack, kan du se Nuget-pakken Microsoft.Windows.SDK.Contracts.

  • Printf-familien av funksjoner overholder nå avrundingsreglene i IEEE 754 når du skriver ut nøyaktig representerbare flyttall, og vil overholde avrundingsmodusen som er forespurt via kall til fesetround. Eldre virkemåte er tilgjengelig når du kobler til legacy_stdio_float_rounding.obj.

  • Sertifiseringspakke for Windows-apper. Flere nye API-er ble lagt til i listen over støttede API-er i appsertifiseringspakken og Windows Store. Hvis det finnes API-er i listen som støttes, som vises nedtonet eller deaktivert i Visual Studio, kan du gjøre en liten endring i kildefilen for å få tilgang til dem. Hvis du vil ha mer informasjon, kan du se dette kjente problemet. Finn flere oppdateringer for tester.

  • Meldingskompilatoroppdateringer (mc.exe):

    • Oppdager nå Unicode-byteordremerket (stykkliste) i MC-filer. Hvis MC-filen starter med en UTF-8-stykkliste, leses den som en UTF-8-fil. Hvis ikke, hvis den starter med en UTF-16LE-stykkliste, leses den som en UTF-16LE-fil. Hvis -u-parameteren ble angitt, leses den som en UTF-16LE-fil. Ellers leses den ved hjelp av gjeldende tegntabell (CP_ACP).
    • Nå unngår du problemer med én definisjonsregel (ODR) hos MC-genererte C/C++ ETW-hjelpere forårsaket av motstridende konfigurasjonsmakroer (f.eks. når to .cpp filer med motstridende definisjoner av MCGEN_EVENTWRITETRANSFER er koblet til samme binærtall, vil de MC-genererte ETW-hjelperne nå respektere definisjonen av MCGEN_EVENTWRITETRANSFER i hver .cpp fil i stedet for vilkårlig plukking av én eller den andre).
  • Windows Trace-forhåndsbehandlinger (tracewpp.exe) oppdateringer:

    • Støtter Unicode-inndatafiler (.ini, TPL og kildekode). Inndatafiler som starter med et UTF-8- eller UTF-16 byteordremerke (STYKK), leses som Unicode. Inndatafiler som ikke starter med en stykkliste, leses ved hjelp av gjeldende tegntabell (CP_ACP). Hvis kommandolinjeparameteren -UnicodeIgnore er angitt for bakoverkompatibilitet, blir filer som starter med en UTF-16-stykkliste, behandlet som tomme.
    • Støtter Unicode-utdatafiler (TMH). Som standard kodes utdatafiler ved hjelp av gjeldende tegntabell (CP_ACP). Bruk kommandolinjeparametere -cp:UTF-8 eller -cp:UTF-16 til å generere Unicode-utdatafiler.
    • Endring av virkemåte: tracewpp konverterer nå all inndatatekst til Unicode, utfører behandling i Unicode og konverterer utdatateksten til den angitte utdatakodingen. Tidligere versjoner av tracewpp unngikk Unicode-konverteringer og utførte tekstbehandling forutsatt et enkelt byte-tegnsett. Dette kan føre til endringer i virkemåte i tilfeller der inndatafilene ikke samsvarer med gjeldende tegntabell. I tilfeller der dette er et problem, bør du vurdere å konvertere inndatafilene til UTF-8 (med stykkliste) og/eller bruke kommandolinjeparameteren -cp:UTF-8 for å unngå tvetydighet.
  • TraceLoggingProvider.h-oppdateringer:

    • Unngår problemer med én definisjonsregel (ODR) forårsaket av motstridende konfigurasjonsmakroer (f.eks. når to .cpp filer med motstridende definisjoner av TLG_EVENT_WRITE_TRANSFER er koblet til samme binærtall, vil TraceLoggingProvider.h-hjelpere nå respektere definisjonen av TLG_EVENT_WRITE_TRANSFER i hver .cpp fil i stedet for vilkårlig plukking av den ene eller den andre).
    • I C++-kode har TraceLoggingWrite-makroen blitt oppdatert for å muliggjøre bedre kodedeling mellom lignende hendelser ved hjelp av variadiske maler.
  • Signere appene dine. Device Guard-signering er en Device Guard-funksjon som er tilgjengelig i Microsoft Store for bedrifter og Education, som gjør det mulig for bedrifter å garantere at hver app kommer fra en pålitelig kilde. Se dokumentasjonen om Device Guard-signering.

  • SDK-topptekster er oppdatert for å løse feil ved kompilering ved bruk av standardkonform C-forhåndsbelønning i MSVC-kompilatoren cl.exe (/Zc:preprocessor, introdusert i VS 2019 v16.6).

  • Fast: "GdiplusTypes.h kompileres ikke med NOMINMAX". Se Visual Studio-tilbakemelding.

  • Når du bygger med /std:c11 eller /std:c17, får du nå:

    • C99 tgmath.h
    • C11 static_assert i assert.h
    • C11 stdalign.h
    • C11 stdnoreturn.h
  • Clang/LLVM for Windows v11 rettet mot ARM64 er ikke kompatibel med den nyeste winnt.h

    • Som en løsning kan du bruke den forrige versjonen av Windows 10 SDK (bygg 19041) eller clang/LLVM for Windows v10 når du målretter arm64-plattformer
  • DirectXMath (inkludert versjon 3.16 i denne versjonen) er ikke kompatibel med Clang/LLVM for Windows på ARM64.

  • Noen topptekstfiler ble endret for å normalisere dem for filsystemer som skiller mellom store og små bokstaver:

    • OAIdl.h, ObjIdl.h, ObjIdlbase.h, OCIdl.h, Ole2.h, OleAuto.h og OleCtl.h ble alle gjort små bokstaver.
    • For Clang/LLVM for Windows-bygg kan du støtte både eldre versjoner og den nyeste Windows 10 SDK uten advarsler, legge -Wno-nonportable-system-include-path til cli eller følgende #pragma i kilden:

    #ifdef __clang__

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

    #endif

Windows 10 SDK, versjon 2004 serviceoppdatering (utgitt 16.12.2020)

Denne versjonen inneholder følgende filer. Hvis du støter på disse problemene, anbefaler vi at du oppdaterer din versjon av SDK så snart som mulig for å unngå dem:

  • Løste uforutsigbare og vanskelige å diagnostisere krasj når du kobler både paraplybiblioteker og opprinnelige OS-biblioteker (for eksempel onecoreuap.lib og kernel32.lib)
  • Løste et problem som hindret AppVerifier i å fungere
  • Løste et problem som førte til at WACK mislyktes med «Oppgaven kan ikke aktivere HighVersionLie»

Flere ressurser

  • SDK-arkiv

    Finn tidligere versjoner av Windows SDK og andre verktøy.

  • Windows-blogg

    Hold kontakten med de nyeste SDK-flyvningene ved å abonnere på bloggen vår.