Windows SDK

Windows SDK (10.0.26100) per Windows 11 fornisce le intestazioni, le librerie, i metadati e gli strumenti più recenti per la compilazione di applicazioni Windows. Usa questo SDK per compilare applicazioni UWP (Universal Windows Platform) e Win32 per Windows 11, versione 24H2 e versioni precedenti di Windows.

Mancia

windows App SDK
Windows App SDK offre un set unificato di API e strumenti che vengono separati dal sistema operativo e rilasciati agli sviluppatori tramite pacchetti NuGet. Queste API e strumenti possono essere usati in modo coerente da qualsiasi app desktop in Windows 11 e dalla versione inferiore a Windows 10, versione 1809.

Introduttiva

È possibile ottenere Windows SDK in due modi: installarlo da questa pagina selezionando il collegamento di download o selezionando "Windows 11 SDK (10.0.26100.0)" nei componenti facoltativi del programma di installazione di Visual Studio 2022. Prima di installare questo SDK:

  • Esaminare tutti i requisiti di sistema
  • Uscire da Visual Studio prima dell'installazione.
  • Esaminare le note sulla versione di e i problemi noti.

Ultimo aggiornamento: settembre 2024

Requisiti di sistema

Windows SDK ha i requisiti minimi di sistema seguenti:

Sistemi operativi supportati

  • Windows 11, versione 21h2 o successiva: Home, Pro, Education ed Enterprise (LTSC non è supportato per UWP)
  • Windows 10, versione 1507 o successiva: Home, Pro, Education ed Enterprise (la modalità LTSB/LTSC e S non sono supportate per UWP)
  • Windows Server 2022, Windows Server 2019, Windows Server 2016 e Windows Server 2012 R2 (solo riga di comando)
  • Windows 8.1
  • Windows 7 SP1

(Non tutti gli strumenti sono supportati nei sistemi operativi precedenti)

Requisiti hardware

  • Processore da 1,6 GHz o superiore
  • 1 GB di RAM
  • 4 GB di spazio disponibile su disco rigido

Requisiti aggiuntivi dell'SDK

L'installazione in Windows 8.1 e nei sistemi operativi precedenti richiede un aggiornamento per Universal C Runtime in Windows. Per eseguire l'installazione tramite Windows Update, assicurarsi di installare gli aggiornamenti e le patch consigliati più recenti da Microsoft Update prima di installare Windows SDK.

Campioni

Gli esempi di app di Windows sono ora disponibili tramite GitHub. È possibile esplorare il codice in GitHub, clonare una copia personale del repository da Git o scaricare un archivio compresso di tutti gli esempi. È possibile ricevere commenti e suggerimenti, quindi è possibile aprire un problema all'interno del repository in caso di problemi o domande. Questi esempi sono progettati per l'esecuzione su dispositivi desktop, mobili e futuri che supportano la piattaforma UWP (Universal Windows Platform).

Versioni precedenti dell'SDK

Gli SDK e gli emulatori rilasciati in precedenza, inclusi i dettagli degli aggiornamenti, sono disponibili nella pagina di archiviazione .

API Light Up

Quando usi nuove API, prendi in considerazione la possibilità di scrivere l'app in modo adattivo in modo che venga eseguita correttamente nell'ampia gamma di dispositivi Windows. Un'app adattiva "si accende" con nuove funzionalità ovunque i dispositivi e la versione di Windows li supporti, ma in caso contrario offre solo le funzionalità disponibili nella versione della piattaforma rilevata. Per informazioni dettagliate sull'implementazione, vedere l'articolo sul codice adattivo della versione .

Note sulla versione e problemi noti

Windows 11, Build 10.0.26100.1742 (data di rilascio 24/9/2024)

Versione per corrispondere alla versione pubblica di Windows 11, versione 24h2.

Windows 11, Build 10.0.26100 (data di rilascio 22/5/2024)

Versione iniziale della serie 10.0.26100, in modo che corrisponda all'anteprima di Windows 11, versione 24h2.

Windows 11, Build 10.0.22621.3235 (data di rilascio 2/29/2024)

Aggiornamento di manutenzione 10.0.22621.3235.

Windows 11, Build 10.0.22621.2428 (data di rilascio 10/24/2023)

Aggiornamento di manutenzione 10.0.22621.2428.

Windows 11, versione 22H2, Build 10.0.22621.1778

Aggiornamento 10.0.22621.1778. Le funzionalità evidenziate includono:

  • Le API WindowTabManager consentono alle applicazioni con interfacce a schede di fornire informazioni sulle schede aperte alla shell di Windows.
  • Aggiornamenti alle API HumanPresence per migliorare la facilità d'uso e aggiungere nuove impostazioni per i sensori che supportano le funzionalità di presenza umana.
  • Le API RemoteDesktop consentono alle applicazioni di passare da un desktop remoto a quello locale.
Windows SDK per Windows 11, versione 22H2
  • Aggiornamento di manutenzione 10.0.22621.755. Include il supporto arm64 per la versione di VS 17.4
Windows 10 SDK, versione 2104
  • Rimosso api-ms-win-net-isolation-l1-1-0.lib. Le app che si collegavano a api-ms-win-net-isolation-l1-1-0.lib possono passare a t OneCoreUAP.lib come sostituzione.

  • Rimosso irprops.lib. Le app che si collegavano a irprops.lib possono passare a bthprops.lib come sostituzione di rilascio.

  • Spostato tag ENUMServerSelection da wuapicommon.h a wupai.h e rimosso l'intestazione. Se si vuole usare il tag ENUMServerSelection, sarà necessario includere wuapi.h o wuapi.idl.

  • Windows 10 WinRT API Pack consente di aggiungere le API e le app più recenti di Windows Runtime alle librerie e alle app di .NET Framework 4.5+ e .NET Core 3.0+. Per accedere al Pacchetto API WinRT di Windows 10, vedi il pacchetto nuget Microsoft.Windows.SDK.Contracts.

  • La famiglia di funzioni printf ora è conforme alle regole di arrotondamento IEEE 754 quando si stampano numeri a virgola mobile esattamente rappresentabili e rispetta la modalità di arrotondamento richiesta tramite chiamate a fesetround. Il comportamento legacy è disponibile quando si esegue il collegamento con legacy_stdio_float_rounding.obj.

  • Kit di certificazione app Windows. Sono state aggiunte diverse nuove API all'elenco API supportate nel Kit di certificazione app e Windows Store. Se nell'elenco supportato sono presenti API disattivate o disabilitate in Visual Studio, è possibile apportare una piccola modifica al file di origine per accedervi. Per altri dettagli, vedere questo problema noto. Trovare altri aggiornamenti per i test.

  • Aggiornamenti del compilatore di messaggi (mc.exe):

    • Rileva ora il byte order mark (BOM) Unicode nei file con estensione mc. Se il file mc inizia con un DBA UTF-8, verrà letto come file UTF-8. In caso contrario, se inizia con un DBA UTF-16LE, verrà letto come file UTF-16LE. Se è stato specificato il parametro -u, verrà letto come file UTF-16LE. In caso contrario, verrà letto usando la tabella codici corrente (CP_ACP).
    • Evitare ora problemi ODR (One Definition Rule) negli helper ETW C/C++ generati da MC causate da macro di configurazione in conflitto (ad esempio, quando due file di .cpp con definizioni in conflitto di MCGEN_EVENTWRITETRANSFER sono collegati allo stesso file binario, gli helper ETW generati da MC ora rispetteranno la definizione di MCGEN_EVENTWRITETRANSFER in ogni file .cpp anziché selezionare arbitrariamente uno o l'altro).
  • Aggiornamenti del preprocessore di traccia di Windows (tracewpp.exe):

    • Supporta i file di input Unicode (.ini, tpl e codice sorgente). I file di input che iniziano con un indicatore di ordine di byte UTF-8 o UTF-16 verranno letti come Unicode. I file di input che non iniziano con un BOM verranno letti usando la tabella codici corrente (CP_ACP). Per garantire la compatibilità con le versioni precedenti, se viene specificato il parametro della riga di comando -UnicodeIgnore, i file che iniziano con un BOM UTF-16 verranno considerati vuoti.
    • Supporta i file di output Unicode (tmh). Per impostazione predefinita, i file di output verranno codificati usando la tabella codici corrente (CP_ACP). Usare i parametri della riga di comando -cp:UTF-8 o -cp:UTF-16 per generare file di output Unicode.
    • Modifica del comportamento: tracewpp converte ora tutto il testo di input in Unicode, esegue l'elaborazione in Unicode e converte il testo di output nella codifica di output specificata. Le versioni precedenti di tracewpp evitavano conversioni Unicode ed eseguivano l'elaborazione del testo presupponendo un set di caratteri a byte singolo. Ciò può causare modifiche di comportamento nei casi in cui i file di input non sono conformi alla tabella codici corrente. Nei casi in cui si tratta di un problema, è consigliabile convertire i file di input in UTF-8 (con BOM) e/o usando il parametro della riga di comando -cp:UTF-8 per evitare ambiguità di codifica.
  • Aggiornamenti traceLoggingProvider.h:

    • Evita problemi di una regola di definizione (ODR) causati da macro di configurazione in conflitto (ad esempio, quando due file di .cpp con definizioni in conflitto di TLG_EVENT_WRITE_TRANSFER sono collegati allo stesso file binario, gli helper TraceLoggingProvider.h rispetteranno ora la definizione di TLG_EVENT_WRITE_TRANSFER in ogni file .cpp anziché selezionare arbitrariamente uno o l'altro).
    • Nel codice C++ la macro TraceLoggingWrite è stata aggiornata per consentire una migliore condivisione del codice tra eventi simili usando modelli variadic.
  • Firma delle app. La firma di Device Guard è una funzionalità di Device Guard disponibile in Microsoft Store per le aziende e la formazione, che consente alle aziende di garantire che ogni app provenga da un'origine attendibile. Vedere la documentazione sulla firma di Device Guard.

  • Le intestazioni SDK sono state aggiornate per risolvere gli errori durante la compilazione usando il preprocessore C conforme allo standard nel compilatore MSVC cl.exe (/Zc:preprocessor, introdotto in VS 2019 v16.6).

  • Corretto: "GdiplusTypes.h non viene compilato con NOMINMAX". Vedere Commenti e suggerimenti di Visual Studio.

  • Quando si compila con /std:c11 o /std:c17, ora si ottiene:

    • C99 tgmath.h
    • C11 static_assert in assert.h
    • C11 stdalign.h
    • C11 stdnoreturn.h
  • Clang/LLVM per Windows v11 destinato ad ARM64 non è compatibile con la versione più recente di winnt.h

    • Come soluzione alternativa, usare la versione precedente di Windows 10 SDK (build 19041) o clang/LLVM per Windows v10 per le piattaforme ARM64
  • DirectXMath (inclusa la versione 3.16 in questa versione) non è compatibile con Clang/LLVM per Windows in ARM64.

  • Il caso di alcuni file di intestazione è stato modificato per normalizzarli per i file system con distinzione tra maiuscole e minuscole:

    • OAIdl.h, ObjIdl.h, ObjIdlbase.h, OCIdl.h, Ole2.h, OleAuto.h e OleCtl.h sono stati tutti resi minuscoli.
    • Per le build Clang/LLVM per Windows, per supportare sia la versione precedente che la versione più recente di Windows 10 SDK senza avvisi, aggiungere -Wno-nonportable-system-include-path all'interfaccia della riga di comando o i #pragma seguenti nell'origine:

    #ifdef __clang__

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

    #endif

Aggiornamento di manutenzione di Windows 10 SDK, versione 2004 (data di rilascio 12/16/2020)

Questa versione contiene i file seguenti. Se si verificano questi problemi, è consigliabile aggiornare la versione dell'SDK il prima possibile per evitarle:

  • Risoluzione imprevista e difficile da diagnosticare gli arresti anomali durante il collegamento di librerie generiche e librerie native del sistema operativo (ad esempio onecoreuap.lib e kernel32.lib)
  • Problema risolto che impediva il funzionamento di AppVerifier
  • Problema risolto che causava l'esito negativo di WACK con "Impossibile abilitare HighVersionLie"

Altre risorse