Windows SDK

Windows SDK (10.0.26100) 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 UWP-program (Universal Windows Platform) och Win32-program för Windows 11, version 24H2 och tidigare Windows-versioner.

Dricks

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

Komma igång

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

Senast uppdaterad: september 2024

Systemkrav

Windows SDK har följande minimikrav:

Operativsystem som stöds

  • Windows 11, version 21h2 eller senare: Home, Pro, Education och Enterprise (LTSC stöds inte för UWP)
  • Windows 10 version 1507 eller senare: Home, Pro, Education och Enterprise (LTSB/LTSC- och S-läge 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.

Prover

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

Tidigare SDK-versioner

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

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 i övrigt endast de funktioner som är tillgängliga på den identifierade plattformsversionen. Mer information om implementering finns i artikeln Version adaptiv kod.

Viktig information och kända problem

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

Version för att motsvara den offentliga versionen av Windows 11, version 24h2.

Windows 11, Build 10.0.26100 (utgiven 2024-05-22)

Första versionen av 10.0.26100-serien, för att motsvara windows 11 version 24h2 förhandsversionen.

Windows 11, Build 10.0.22621.3235 (släppt 2/29/2024)

Serviceuppdatering 10.0.22621.3235.

Windows 11, Build 10.0.22621.2428 (utgiven 2023-01-24)

Serviceuppdatering 10.0.22621.2428.

Windows 11, Version 22H2, Build 10.0.22621.1778

Uppdatering 10.0.22621.1778. Bland de markerade funktionerna finns:

  • WindowsTabManager-API:er gör det möjligt för program med flikar att tillhandahålla information på öppna flikar till Windows-gränssnittet.
  • Uppdateringar av HumanPresence-API:er för att förbättra användarvänlighet och lägga till nya inställningar för sensorer som stöder funktioner för mänsklig närvaro.
  • RemoteDesktop-API:er gör att program kan 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 växla t OneCoreUAP.lib som ersättning.

  • Irprops.lib har tagits bort. 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-taggenServerSelection 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 .NET Framework 4.5+ och .NET Core 3.0+-bibliotek och appar. Om du vill komma åt Windows 10 WinRT API Pack läser du nuget-paketet Microsoft.Windows.SDK.Contracts.

  • Printf-serien med funktioner överensstämmer nu med IEEE 754-avrundningsreglerna när du skriver ut exakt representerande flyttalsnummer och kommer att följa 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.

  • Certifieringspaket för Windows-appar. Flera nya API:er har lagts till i listan API:er som stöds i App Certification Kit och Windows Store. Om det finns API:er i listan som stöds som verkar 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-strukturlista 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).
    • Nu undviker du problem med en definitionsregel (ODR) i MC-genererade C/C++ ETW-hjälpverktyg 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 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).
  • Windows Trace Preprocessor (tracewpp.exe) uppdateringar:

    • 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 hjälp av den aktuella kodsidan (CP_ACP). Om -UnicodeIgnore kommandoradsparameter har angetts för bakåtkompatibilitet behandlas filer som börjar med en UTF-16-strukturlista 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 med en teckenuppsättning med en enda byte. Detta kan leda till beteendeändringar i fall där indatafilerna inte överensstämmer med den aktuella kodsidan. I de fall 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 tvetydigheter i kodningen.
  • TraceLoggingProvider.h-uppdateringar:

    • Undviker problem med en definitionsregel (ODR) som orsakas av motstridiga konfigurationsmakron (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 variadiska mallar.
  • Signera dina appar. Device Guard-signering är en Device Guard-funktion som är tillgänglig i Microsoft Store för företag och utbildning, vilket gör att företag kan garantera att varje app kommer från en betrodd källa. Se dokumentationen för om Device Guard-signering.

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

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

  • När du skapar 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 lägger du till -Wno-nonportable-system-include-path till CLI för att stödja både äldre versioner och den senaste Windows 10 SDK:n utan varningar, 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-01-12)

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öst 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

  • SDK-arkiv

    Hitta tidigare versioner av Window SDK och andra verktyg.

  • Windows-blogg

    Håll kontakten med de senaste SDK-flygningarna genom att prenumerera på vår blogg.