Windows SDK

Windows SDK (10.0.22621) för Windows 11 innehåller de senaste rubrikerna, biblioteken, metadata och verktygen för att skapa Windows-program. Använd denna SDK för att skapa Universell Windows-plattform (UWP) och Win32-program för Windows 11, version 23H2 och tidigare Windows-versioner.

Tips

Windows App SDK
Den SDK för Windows-appar innehåller en enhetlig uppsättning API:er och verktyg som är frikopplade från operativsystemet och som släpps till utvecklare via NuGet-paket. Dessa API:er och verktyg kan användas på ett konsekvent sätt av alla skrivbordsappar på Windows 11 och nednivå för att Windows 10 version 1809.

Komma igång

Du kan hämta Windows SDK på två sätt: installera den från den här sidan genom att välja nedladdningslänken eller genom att välja "Windows 11 SDK (10.0.22621.0)" i de valfria komponenterna i Installationsprogrammet för Visual Studio 2022. Innan du installerar denna SDK:

Senast uppdaterad: februari 2024

Systemkrav

Windows SDK har följande lägsta systemkrav:

Operativsystem som stöds

  • Windows 10 version 1507 eller senare: Home, Professional, Education och Enterprise (LTSB och S stöds inte för UWP)
  • Windows Server 2022, Windows Server 2019, Windows Server 2016 och Windows Server 2012 R2 (endast kommandorad)
  • Windows 8,1
  • Windows 7 SP1

(Alla verktyg stöds inte i tidigare operativsystem)

Maskinvarukrav

  • 1,6 GHz eller snabbare processor
  • 1 GB RAM-minne
  • 4 GB ledigt hårddiskutrymme

Ytterligare SDK-krav

Installation på Windows 8.1 och tidigare operativsystem kräver en uppdatering för Universal C Runtime i Windows. Om du vill installera via Windows Update måste du installera de senaste rekommenderade uppdateringarna och korrigeringarna från Microsoft Update innan du installerar Windows SDK.

Exempel

Windows-appexempel är nu tillgängliga via GitHub. Du kan bläddra i koden på GitHub, klona en personlig kopia av lagringsplatsen från Git eller ladda ned ett zippat arkiv med alla exempel. Vi välkomnar feedback, så öppna gärna ett ärende på lagringsplatsen om du har problem eller frågor. Dessa exempel är utformade för att köras på stationära, mobila och framtida enheter som stöder Universell Windows-plattform (UWP).

Tidigare SDK-versioner

Tidigare utgivna SDK:er och emulatorer, inklusive uppdateringsinformation, finns på arkivsidan.

API lyser upp

När du använder nya API:er bör du överväga att skriva din app så att den körs korrekt på den bredaste matrisen med Windows-enheter. En anpassningsbar app "lyser upp" med nya funktioner oavsett var enheterna och Windows-versionen stöder dem, men erbjuder annars endast de funktioner som är tillgängliga på den identifierade plattformsversionen. Mer information om implementering finns i artikeln Om anpassningsbar kod för version.

Viktig information och kända problem

Windows 11, version 10.0.22621.3235 (utgiven 2024-02-29)

Underhållsuppdatering 10.0.22621.3235.

Windows 11, version 10.0.22621.2428 (utgiven 2023-10-24)

Underhållsuppdatering 10.0.22621.2428.

Windows 11, version 22H2, version 10.0.22621.1778

Uppdatering 10.0.22621.1778. Bland de markerade funktionerna finns:

  • WindowsTabManager-API:er gör att program med flikar kan tillhandahålla information på öppna flikar i Windows-gränssnittet.
  • Uppdateringar till HumanPresence-API:er för att förbättra användarvänligheten och lägga till nya inställningar för sensorer som stöder mänskliga närvarofunktioner.
  • Med RemoteDesktop-API:er kan program växla mellan ett fjärrskrivbord och ett lokalt skrivbord.
Windows SDK för Windows 11 version 22H2
  • Underhållsuppdatering 10.0.22621.755. Innehåller ARM64-stöd för VS 17.4-versionen
Windows 10 SDK, version 2104
  • Tog bort api-ms-win-net-isolation-l1-1-0.lib. Appar som länkade mot api-ms-win-net-isolation-l1-1-0.lib kan byta till OneCoreUAP.lib som ersättning.

  • Tog bort irprops.lib. Appar som länkade mot irprops.lib kan växla till bthprops.lib som en drop-in-ersättning.

  • Flyttade ENUM tagServerSelection från wuapicommon.h till wupai.h och tog bort rubriken. Om du vill använda ENUM-tagServerSelection måste du inkludera wuapi.h eller wuapi.idl.

  • Med Windows 10 WinRT API Pack kan du lägga till de senaste Windows Runtime API:erna i dina bibliotek och appar i .NET Framework 4.5+ och .NET Core 3.0+. Information om hur du kommer åt Windows 10 WinRT API Pack finns i nuget-paketet Microsoft.Windows.SDK.Contracts.

  • Printf-serien med funktioner överensstämmer nu med IEEE 754-avrundningsreglerna vid utskrift av exakt representerande flyttalsnummer och kommer att respektera avrundningsläget som begärs via anrop till fesetround. Äldre beteende är tillgängligt när du länkar till legacy_stdio_float_rounding.obj.

  • Windows App Certification Kit. Flera nya API:er har lagts till i listan ÖVER API:er som stöds i App Certification Kit och Windows Store. Om det finns API:er i listan som stöds och som visas nedtonade eller inaktiverade i Visual Studio kan du göra en liten ändring i källfilen för att få åtkomst till dem. Mer information finns i det här kända problemet. Hitta fler uppdateringar av tester.

  • Uppdateringar av meddelandekompilatorn (mc.exe):

    • Identifierar nu Unicode-byteordningsmarkeringen (BOM) i .mc-filer. Om .mc-filen börjar med en UTF-8 BOM kommer den att läsas som en UTF-8-fil. Annars, om den börjar med en UTF-16LE BOM, kommer den att läsas som en UTF-16LE-fil. Om parametern -u har angetts kommer den att läsas som en UTF-16LE-fil. Annars kommer den att läsas med hjälp av den aktuella kodsidan (CP_ACP).
    • Undvik nu problem med en definitionsregel (ODR) i MC-genererade C/C++ ETW-hjälpkomponenter som orsakas av motstridiga konfigurationsmakron (t.ex. när två .cpp filer med motstridiga definitioner av MCGEN_EVENTWRITETRANSFER är länkade till samma binärfil, respekterar de MC-genererade ETW-hjälparna nu definitionen av MCGEN_EVENTWRITETRANSFER i varje .cpp fil i stället för att godtyckligt välja den ena eller den andra).
  • Uppdateringar av Windows Trace Preprocessor (tracewpp.exe):

    • Stöder Unicode-indatafiler (.ini, .tpl och källkod). Indatafiler som börjar med en UTF-8 eller UTF-16 byte order mark (BOM) kommer att läsas som Unicode. Indatafiler som inte börjar med en strukturlista kommer att läsas med den aktuella kodsidan (CP_ACP). Om kommandoradsparametern -UnicodeIgnore har angetts för bakåtkompatibilitet behandlas filer som börjar med en UTF-16 BOM som tomma.
    • Stöder Unicode-utdatafiler (.tmh). Som standard kodas utdatafiler med den aktuella kodsidan (CP_ACP). Använd kommandoradsparametrarna -cp:UTF-8 eller -cp:UTF-16 för att generera Unicode-utdatafiler.
    • Beteendeförändring: tracewpp konverterar nu all indatatext till Unicode, utför bearbetning i Unicode och konverterar utdatatext till den angivna utdatakodningen. Tidigare versioner av tracewpp undvek Unicode-konverteringar och utförde textbearbetning under förutsättning att en teckenuppsättning med en enda byte angavs. Detta kan leda till beteendeändringar i fall där indatafilerna inte överensstämmer med den aktuella kodsidan. Om det här är ett problem bör du överväga att konvertera indatafilerna till UTF-8 (med BOM) och/eller använda kommandoradsparametern -cp:UTF-8 för att undvika tvetydig kodning.
  • TraceLoggingProvider.h-uppdateringar:

    • Undviker problem med en definitionsregel (ODR) som orsakas av motstridiga konfigurationsmakro (t.ex. när två .cpp filer med motstridiga definitioner av TLG_EVENT_WRITE_TRANSFER är länkade till samma binärfil, kommer TraceLoggingProvider.h-hjälparna nu att respektera definitionen av TLG_EVENT_WRITE_TRANSFER i varje .cpp fil i stället för att godtyckligt välja den ena eller den andra).
    • I C++-kod har TraceLoggingWrite-makrot uppdaterats för att möjliggöra bättre koddelning mellan liknande händelser med hjälp av variadic-mallar.
  • Signera dina appar. Device Guard-signering är en Device Guard-funktion som är tillgänglig i Microsoft Store för företag och Education, vilket gör det möjligt för företag att garantera att varje app kommer från en betrodd källa. Se dokumentationen om Device Guard-signering.

  • SDK-huvuden har uppdaterats för att åtgärda fel vid kompilering med hjälp av den standardkonforma C-förprocessorn i MSVC-kompilatorn cl.exe (/Zc:preprocessor, som introducerades i VS 2019 v16.6).

  • Åtgärdat: "GdiplusTypes.h kompileras inte med NOMINMAX". Se Feedback om Visual Studio.

  • 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 för Windows v11 som riktar in sig på ARM64 är inte kompatibelt med den senaste winnt.h

    • Som en lösning kan du använda den tidigare versionen av Windows 10 SDK (version 19041) eller clang/LLVM för Windows v10 när du riktar in dig på ARM64-plattformar
  • DirectXMath (inklusive version 3.16 i den här versionen) är inte kompatibelt med Clang/LLVM för Windows på ARM64.

  • Fallet med vissa huvudfiler har ändrats för att normalisera dem för skiftlägeskänsliga filsystem:

    • OAIdl.h, ObjIdl.h, ObjIdlbase.h, OCIdl.h, Ole2.h, OleAuto.h och OleCtl.h gjordes alla gemener.
    • För Clang/LLVM för Windows-versioner, för att stödja både äldre versioner och den senaste Windows 10 SDK utan varningar, lägger du till -Wno-nonportable-system-include-path i CLI eller följande #pragma i källan:

    #ifdef __clang__

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

    #endif

Windows 10 SDK, version 2004 serviceuppdatering (utgiven 2020-12-16)

Den här versionen innehåller följande filer. Om du stöter på dessa problem rekommenderar vi att du uppdaterar din version av SDK så snart som möjligt för att undvika dem:

  • Löstes oförutsägbart och svårt att diagnostisera krascher vid länkning av både paraplybibliotek och interna OS-bibliotek (till exempel onecoreuap.lib och kernel32.lib)
  • Löst problem som hindrade AppVerifier från att fungera
  • Löst problem som gjorde att WACK misslyckades med "Uppgiften kunde inte aktivera HighVersionLie"

Fler resurser