Windows SDK

Windows SDK (10.0.22621) för Windows 11 version 22H2 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 22H2 och tidigare Windows-versioner.

Tips

Windows App SDK
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 det på 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 den här SDK:en:

Senast uppdaterad: 4 oktober 2021

Systemkrav

Windows SDK har följande minimikrav:

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 på tidigare operativsystem)

Maskinvarukrav

  • 1,6 GHz eller snabbare processor
  • 1 GB RAM
  • 4 GB tillgängligt hårddiskutrymme

Ytterligare SDK-krav

Installation på Windows 8.1 och tidigare operativsystem kräver en uppdatering för Universal C Runtime i Windows. Installera via Windows Update genom att 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 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 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 i övrigt endast de funktioner som är tillgängliga på den identifierade plattformsversionen. Mer information om implementering finns i artikeln Versionsanpassad kod.

Viktig information och kända problem

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 t 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-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. 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 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 Ö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 komma åt dem. Mer information finns i det här kända problemet. Hitta fler uppdateringar av tester.

  • Uppdateringar av meddelandekompilatorn (mc.exe):

    • Nu identifierar Unicode byte order mark (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).
    • 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, kommer de MC-genererade ETW-hjälparna nu att respektera 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-byteordningsmarkering (BOM) kommer att läsas som Unicode. Indatafiler som inte börjar med en bom 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 förutsatt att en teckenuppsättning med en byte. 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 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 Education, vilket gör det möjligt för företag att garantera att alla appar 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 den standardkonforma C-preprocessorn i MSVC-kompilatorn cl.exe (/Zc:preprocessor, som introducerades i VS 2019 v16.6).

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

  • 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 sig mot 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 version 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-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