Windows SDK

Windows SDK (10.0.22621) for Windows 11, versjon 22H2 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 22H2 og tidligere Windows-versjoner.

Tips

Windows-app SDK
Den Windows-app SDK gir et enhetlig sett med API-er og verktøy som er koblet fra operativsystemet og utgitt til utviklere via NuGet-pakker. Disse API-ene og verktøyene kan brukes på en konsekvent måte av en hvilken som helst skrivebordsapp 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: 4. oktober 2021

Systemkrav

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 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 erstatning.

  • Fjernet irprops.lib. Apper som koblet mot irprops.lib, kan bytte til bthprops.lib som en 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 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 for Microsoft.Windows.SDK.Contracts.

  • Printf-serien av funksjoner samsvarer nå med IEEE 754-avrundingsreglene 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 ODR-problemer med én definisjonsregel (ODR) i 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ære, respekterer de MC-genererte ETW-hjelperne nå definisjonen av MCGEN_EVENTWRITETRANSFER i hver CPP-fil i stedet for tilfeldig å velge den ene eller den andre).
  • Windows Trace-forhåndsprosessoroppdateringer (tracewpp.exe):

    • 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, behandles filer som starter med en UTF-16-stykkliste, 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 utdatatekst 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 ODR-problemer (one-definition-rule) 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ære, vil TraceLoggingProvider.h-hjelperne nå respektere definisjonen av TLG_EVENT_WRITE_TRANSFER i hver CPP-fil i stedet for tilfeldig å velge den ene eller den andre).
    • I C++-kode er TraceLoggingWrite-makroen 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 Utdanning, noe 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 hjelp av standardkonform C-forhåndsbeprosessoren i MSVC-kompilatoren cl.exe (/Zc:preprocessor, introdusert i VS 2019 v16.6).

  • Løst: "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-målretting av ARM64 er ikke kompatibel med den nyeste winnt.h

    • Som en midlertidig 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 mot 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.