Windows SDK

Windows SDK (10.0.22000) for Windows 11 inneholder de siste topptekstene, biblioteker, metadata og verktøy for å kompilere Windows-programmer. Bruk dette SDK-et til å kompilere Universell Windows-plattform- (UWP) og Win32-programmer for Windows 11 og tidligere Windows-utgivelser.

Komme i gang

Du kan få Windows SDK på to måter: installer det fra denne siden ved å velge nedlastingskoblingen eller ved å velge «Windows 11 SDK (10.0.22000)» i de valgfrie komponentene til installasjonsprogrammet for Visual Studio 2019.

Før du installerer dette SDK-et:

  1. Gjennomgå alle systemkrav
  2. Avslutt Visual Studio før installasjonen.
  3. Gjennomgå produktmerknader og kjente problemer.

Systemkrav

Minimum systemkrav for Windows SDK er følgende:

Operativsystemer som støttes

  • Utvikling av UWP-apper (Universell Windows-plattform)
    • Windows 10 versjon 1507 eller nyere: Home, Professional, Education og Enterprise (LTSB og S støttes ikke)
    • Windows Server 2019, Windows Server 2016 og Windows Server 2012 R2 (bare kommandolinje)
  • Utvikling av Win32-apper
    • Windows 10 versjon 1507 eller nyere
    • 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 i tidligere operativsystemer)

Maskinvarekrav

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

Andre SDK-krav

Installasjon i Windows 8.1 og tidligere operativsystemer krever KB2999226. Hvis du vil installere via Windows Update, må du passe på å installere de nyeste anbefalte oppdateringene fra Microsoft Update før du installerer Windows SDK.

Hva skjer

Med Windows SDK for Windows 11 kan du oppdatere appene dine for den nyeste versjonen av Windows OS. Finn ut mer om de nye funksjonene i Windows 11.

Hvis du vil se de nye API-ene som ble introdusert med Windows 11, kan du se Nye API-er i Windows 11-bygg 22000.

Gjenoppbygde binærfilene til Windows 11 på selve ARM-operativsystemet med ARM64EC, slik at all systemkode lastet inn av x64-apper kjører med opprinnelig hastighet. Dra nytte av ARM64EC for å gradvis overføre appen din til å kjøre med opprinnelig hastighet på ARM, selv om du har avhengigheter eller programtillegg som ikke støtter ARM ennå. Les kunngjøringen.

Eksempler

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

Tidligere SDK-versjoner

Tidligere utgitte SDK-er og emulatorer, inkludert oppdateringsinformasjon, kan du finne på arkivsiden.

API Light Up

Når du bruker nye API-er, bør du vurdere gjøre appen din dynamisk, slik at den kjører på riktig måte på flest mulig Windows enheter. En dynamisk app bruker nye funksjoner når enhetene og Windows-versjonen støtter dem, men tilbyr ellers bare funksjonene som er tilgjengelige på den registrerte plattformversjonen. Se artikkelen om versjonsadaptiv kode for detaljer om implementering.

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-fil kan bytte til OneCoreUAP.lib-fil som erstatning.
  • Fjernet irprops.lib. Apper som koblet mot irprops.lib-fil kan bytte til bthprops.lib som en droppinn-erstatning.
  • Flyttet ENUM tagServerSelection fra wuapicommon.h til wupai.h og fjernet overskriften. Hvis du vil bruke ENUM tagServerSelection, må du inkludere wuapi.h eller wuapi.idl.
  • Med Windows 10 WinRT API-pakken kan du legge til de nyeste Windows Runtime API-ene for å støtte .NET Framework 4.5+ og .NET Core 3.0+ biblioteker og apper. Hvis du vil få tilgang til Windows 10 WinRT API-pakken, kan du se Microsoft.Windows.SDK.Contracts NuGet-pakken.
  • Familien med funksjoner for printf er nå i samsvar med avrundingsreglene IEEE 754 når du skriver ut nøyaktig representerte flytepunktnumre, og vil respektere avrundingsmodusen som blir forespurt via oppkall til fesetround. Eldre virkemåte er tilgjengelig ved kobling med legacy_stdio_float_rounding.obj.
  • Sertifiseringspakke for Windows-apper. Flere nye API-er lagt til i listen over støttede API-er i sertifiseringspakken for apper og Windows Store. Hvis det er API-er i den støttede listen som vises gråtonet 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 kjent problem. Finn flere oppdateringer av tester.
  • Oppdateringer for meldingskompilator (mc.exe):
    • Nå oppdager Unicode merke for byterekkefølge (BOM) i .mc files. Hvis .mc file starter med en UTF-8 BOM, vil den bli lest som en UTF-8 file. Ellers, hvis den starter med en UTF-16LE BOM, vil den bli lest som en UTF-16LE fil. Hvis u-parameteren ble spesifisert vil den bli lest som en UTF-16LE-fil. Ellers vil det bli lest ved å bruke den gjeldende kodesiden (CP_ACP).
    • Nå unngår en-definisjonsregel (ODR) problemer i MC-generert C/C++ ETW-hjelpere forårsaket av konflikterende konfigurasjonsmakroer (f.eks. når to .cpp-filer med konflikterende definisjoner for MCGEN_EVENTWRITETRANSFER er lenket inn i samme binary, vil de MC-genererte ETW-hjelperne nå respektere definisjonen for MCGEN_EVENTWRITETRANSFER i hver .cpp-fil istedenfor å vilkårlig velge den ene eller den andre).
  • Oppdateringer for forhåndsbehandling av Windows Trace (tracewpp.exe):
    • Støtter Unicode inndatafiler (ini-, .tpl- og kildekode-filer). Inndatafiler som starter med et UTF-8- eller UTF-16-merke for byterekkefølge (BOM) vil bli lest som Unicode. Inndatafiler som ikke starter med en BOM vil bli lest ved å bruke den gjeldende kodesiden (CP_ACP). For bakoverkompatibilitet, hvis kommandolinjeparameteren -UnicodeIgnore er spesifisert, vil filer som begynner med en UTF-16 BOM, behandles som tomme.
    • Støtter Unicode-utdatafiler (.tmh-filer). Som standard vil utdatafiler bli kodet ved å bruke den gjeldende kodesiden (CP_ACP). Bruk kommandolinjeparametre -cp:UTF-8 or -cp:UTF-16 for å generere Unicode utdatafiler.
    • Atferdsendring: tracewpp konverterer nå all inndatatekst til Unicode, utfører behandling i Unicode og konverterer utdatatekst til den spesifiserte utdatakodingen. Tidligere versjoner av tracewpp unngikk Unicode-konverteringer og utførte tekstbehandling under forutsetning av et enkelbyte-tegnsett. Dette kan føre til atferdsendringer i tilfeller der inndatafilene ikke samsvarer med gjeldende kodeside. I tilfeller hvor dette er et problem, kan du vurdere å konvertere inndatafilene til UTF-8 (med BOM) og/eller bruke kommandolinjeparameteren -cp: UTF-8 for å unngå koding av tvetydighet.
  • TraceLoggingProvider.h-oppdateringer:
    • Unngår en-definisjonsregel (ODR) problemer i forårsaket av konflikterende konfigurasjonsmakroer (f.eks. når to .cpp-filer med konflikterende definisjoner for TLG_EVENT_WRITE_TRANSFER er lenket inn i samme binary, vil de TraceLoggingProvider.h-hjelperne nå respektere definisjonen for TLG_EVENT_WRITE_TRANSFER i hver .cpp-fil istedenfor å vilkårlig velge den ene eller den andre).
    • I C ++ -kode er TraceLoggingWrite-makroen blitt oppdatert for å muliggjøre bedre kodedeling mellom lignende hendelser ved å bruke variadiske maler.
  • Signering av appene dine. Device Guard-signering er en Device Guard-funksjon som er tilgjengelig i Microsoft Store for bedrifter og utdanning. Den som gjør det mulig for bedrifter å garantere at alle apper kommer fra en pålitelig kilde. Se dokumentasjon om Device Guard-signering.
  • SDK-overskrifter er oppdatert for å adressere feil når du kompilerer ved hjelp av standardkonform C-prosessor i MSVC-kompilatoren cl.exe (/Zc:preprocessor, introdusert i VS 2019 v16.6).
  • Løst: «GdiplusTypes.h kompilerer ikke med NOMINMAX». Se tilbakemelding fra Visual Studio.
  • Når du bygger med /std:c11 eller /std:c17, får du nå:
    • C99 tgmath.h
    • C11 static_assert in assert.h
    • C11 stdalign.h
    • C11 stdnoreturn.h
  • Clang/LLVM for Windows v11 målretting mot ARM64 er ikke kompatibel med den siste winnt.h
    • Som en løsning kan du bruke den forrige versjonen av Windows 10 SDK (build 19041), eller clang/LLVM for Windows v10 når du retter deg mot ARM64-plattformer
  • DirectXMath (inkludert versjon 3.16 i denne utgaven) er ikke kompatibel med Clang/LLVM for Windows på ARM64.
  • Størrelsen på noen bokstaver i overskriftsfiler ble endret, for å normalisere skillet mellom store og små bokstaver i filsystemer:
    • OAIdl.h, ObjIdl.h, ObjIdlbase.h, OCIdl.h, Ole2.h, OleAuto. og OleCtl.h ble alle laget med små bokstaver.
    • For Clang/LLVM for Windows builds, for å støtte både eldre versjon og nyeste Windows 10 SDK uten advarsler, legg til «-Wno-nonportable-system-include-path» til kommandolinjegrensesnitt, eller følgende #pragma i kilde:

      #ifdef __clang__
      #pragma clang diagnostic ignored «-Wnonportable-system-include-path»
      #endif

Windows 10 SDK, versjon 2004 serviceoppdatering (utgitt 16.12.2020)

    Denne utgivelsen inneholder følgende filer. Hvis du støter på disse problemene, anbefaler vi at du oppdaterer versjonen av SDK så snart som mulig for å unngå dem:
  • Løst uforutsigbare krasj som er vanskelige å diagnostisere ved sammenkobling av paraplybiblioteker og opprinnelige OS-biblioteker (for eksempel onecoreuap.lib og kernel32.lib)
  • Løst problem som forhindret AppVerifier i å fungere
  • Løst problem som fikk WACK til å mislykkes med «Oppgave kunne ikke aktivere HighVersionLie»

Gi tilbakemelding

Se spørsmål og svar for winapi-sdk for kjente problemer.

For nye forespørsler om utviklerfunksjoner, send inn via tilbakemeldingshub-appen under kategorien «utviklerplattform/API.»

Flere ressurser

Nedlastinger og verktøy

Få de nyeste utgavene av Visual Studio og Windows 10-utviklerverktøy.

FINN UT MER

SDK-arkiv

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

SE I ARKIVET

Windows-blogg

Hold deg oppdatert med de nyeste SDK-testversjonene ved å abonnere på bloggen.

FÅ NYHETER OM SDK-TESTVERSJONER

Faktaark om livssyklusen for Windows

Finn nøkkeldata for oppdatering om Windows-utgivelse og slutt på støtte.

SE FAKTAARKET