Windows 10 SDK

Das Windows 10 SDK (10.0.19041.0) für Windows 10, Version 2004, enthält die neuesten Header, Bibliotheken, Metadaten und Tools zum Erstellen von Apps für Windows 10.

Verwende dieses SDK, um UWP- und Win32-Anwendungen für Windows 10 20H2 und frühere Windows-Releases zu entwickeln.

Erste Schritte

Sie können das Windows 10 SDK auf zwei Arten beziehen: Installieren Sie es über diese Website, indem Sie auf den Downloadlink klicken, oder wählen Sie „Windows 10 SDK (10.0.19041.0)“ aus den optionalen Komponenten im Installer für Visual Studio 2019 aus.

Vor der SDK-Installation:

  1. Informieren Sie sich über alle im Folgenden aufgeführten Systemanforderungen.
  2. Beenden Sie Visual Studio 2019 vor der Installation.
  3. Machen Sie sich mit den im Folgenden aufgeführten bekannten Problemen vertraut.

Systemanforderungen

Für das Windows SDK gelten folgende Mindestvoraussetzungen:

Unterstützte Betriebssysteme

  • Entwicklung von UWP-Apps (universelle Windows-Plattform)
    • Windows 10, Version 1507 oder höher: Home, Professional, Education und Enterprise (LTSB und S werden nicht unterstützt)
    • Windows Server 2019, Windows Server 2016 und Windows Server 2012 R2 (nur Befehlszeile)
  • Entwicklung von Win32-Apps
    • Windows 10 ab Version 1507
    • Windows Server 2019, Windows Server 2016 und Windows Server 2012 R2 (nur Befehlszeile)
    • Windows 8.1
    • Windows 7 SP1

(Unter früheren Betriebssystemen werden nicht alle Tools unterstützt.)

Hardwareanforderungen

  • Prozessor mit 1,6 GHz oder mehr
  • 1 GB RAM
  • 4 GB verfügbarer Speicherplatz auf der Festplatte

Weitere SDK-Anforderungen

Die Installation unter Windows 8.1 und älteren Betriebssystemen erfordert KB2999226. Für die Installation über Windows Update sollten die neuesten empfohlenen Updates und Patches von Microsoft Update installiert sein, bevor Sie das Windows SDK installieren.

Neuigkeiten

Das Windows 10 SDK für Windows 10, Version 2004, enthält wichtige neue APIs und aktualisierte Tools für die Entwicklung von Windows-Anwendungen. Hier erfahren Sie mehr über die neuen Features in Windows 10, Version 2004.

APIs

Informationen zu den mit Windows 10, Version 2004, eingeführten neuen APIs finden Sie hier: Neuigkeiten für Entwickler in Windows 10, Build 19041.

Entfernung von „api-ms-win-net-isolation-l1-1-0.lib“

In diesem Release wurde „api-ms-win-net-isolation-l1-1-0.lib“ aus dem Windows SDK entfernt. Für Apps, die mit „api-ms-win-net-isolation-l1-1-0.lib“ verknüpft waren, kann „OneCoreUAP.lib“ als Ersatz verwendet werden.

Entfernung von „irprops.lib“

In diesem Release wurde „irprops.lib“ aus dem Windows SDK entfernt. Für Apps, die mit „irprops.lib“ verknüpft waren, kann „bthprops.lib“ als Ersatz verwendet werden.

Entfernung von „wuapicommon.h“ und „wuapicommon.idl“

In diesem Release wurde „ENUM tagServerSelection“ von „wuapicommon.h“ in „wupai.h“ verschoben und der Header entfernt. Wenn Sie „ENUM tagServerSelection“ verwenden möchten, müssen Sie „wuapi.h“ oder „wuapi.idl“ einbinden.

WinRT-API-Paket für Windows 10

Mit dem Windows 10 WinRT API Pack können Sie Ihren .NET Framework 4.5- (oder höher) und .NET Core 3.0-Bibliotheken (oder höher) und -Apps die neueste Unterstützung für Windows-Runtime-APIs hinzufügen. Weitere Informationen zum Zugriff auf das Windows 10 WinRT API Pack finden Sie unter Microsoft.Windows.SDK.Contracts-NuGet-Paket.

Universelle C-Runtime (UCRT)

Die printf-Funktionsfamilie ist nun mit den IEEE 754-Rundungsregeln konform, wenn genau darstellbare Gleitkommazahlen ausgegeben werden. Der Rundungsmodus wird bei Aufrufen von fesetround berücksichtigt. Du kannst das vorherige Verhalten nutzen, indem du eine Verknüpfung mit legacy_stdio_float_rounding.obj herstellst.

Tools

Zertifizierungskit für Windows-Apps

In diesem Release des Windows SDK wurden mehrere neue APIs zur Liste der unterstützten APIs im Zertifizierungskit für Apps und im Microsoft Store hinzugefügt. Wenn in der unterstützten Liste APIs vorhanden sind, die in Visual Studio ausgegraut oder als deaktiviert angezeigt werden, können Sie eine kleine Änderung an der Quelldatei vornehmen, um auf diese zuzugreifen. Weitere Informationen finden Sie im Artikel zu bekannten Problemen.

Es wurden nicht nur APIs hinzugefügt, sondern auch folgende Änderungen an Tests vorgenommen:

Aktualisierte Tests:

  • ValidateContentUriRules dient nur zu Informationszwecken. Testfehler werden als Warnungen angezeigt.

Entfernte Tests

  • WebView-WinRT-Zugriffstest für Web-Apps
  • PackageSizeCheck-Test für UWP-Apps
  • SupportedApi-Test für Desktop-Brücken-Apps
  • AppContainerCheck-Test aus BinScope für UWP-Apps
  • ServiceWorker-Überprüfung für alle App-Typen

Neue Tests

  • High-DPI-Test: Ein neuer Test für Desktop-Brücken-Apps prüft, ob die App ein DPI-fähiges Feature verwendet, und gibt eine Warnung aus, wenn keines festgelegt ist. Dieser Test empfiehlt Ihnen, Ihre App DPI-fähig (Per-Monitor) zu machen. Weitere Informationen zu DPI finden Sie unter Entwicklung von Desktopanwendungen unter Windows mit High-DPI.

Message Compiler („mc.exe“)

Updates:

  • Die Byte Order Mark (BOM) für Unicode wird jetzt in MC-Dateien erkannt. Wenn die MC-Datei mit einer UTF-8-BOM beginnt, wird sie als UTF-8-Datei gelesen. Wenn sie dagegen mit einer UTF-16LE-BOM beginnt, wird sie als UTF-16LE-Datei gelesen. Wenn der Parameter -u angegeben wurde, wird sie als UTF-16LE-Datei gelesen. Andernfalls wird sie mithilfe der aktuellen Codepage (CP_ACP) gelesen.
  • ODR-Probleme (One Definition Rule) in aus MC-Dateien generierten C/C++-ETW-Hilfsprogrammen, die durch widersprüchliche Konfigurationsmakros verursacht werden, werden jetzt vermieden. Diese liegen beispielsweise vor, wenn zwei CPP-Dateien mit widersprüchlichen Definitionen von MCGEN_EVENTWRITETRANSFER mit derselben Binärdatei verknüpft werden. Die aus MC-Dateien generierten ETW-Hilfsprogramme berücksichtigen jetzt die Definition von MCGEN_EVENTWRITETRANSFER in jeder CPP-Datei, anstatt willkürlich eine auszuwählen.

Windows Trace Preprocessor (tracewpp.exe)

Updates:

  • Unicode-Eingabedateien (INI-Dateien, TPL-Dateien und Quellcodedateien) werden jetzt unterstützt. Eingabedateien, die mit einer UTF-8- oder UTF-16-BOM beginnen, werden als Unicode gelesen. Eingabedateien, die nicht mit einer BOM beginnen, werden mithilfe der aktuellen Codepage (CP_ACP) gelesen. Aus Gründen der Abwärtskompatibilität werden Dateien, die mit einer UTF-16-BOM beginnen, als leer behandelt, wenn der Befehlszeilenparameter -UnicodeIgnore angegeben ist.
  • Unicode-Ausgabedateien (TMH-Dateien) werden jetzt unterstützt. Standardmäßig werden Ausgabedateien mithilfe der aktuellen Codepage (CP_ACP) codiert. Verwenden Sie die Befehlszeilenparameter -cp:UTF-8 oder -cp: UTF-16, um Unicode-Ausgabedateien zu generieren.
  • Verhaltensänderung: tracewpp konvertiert nun den gesamten Eingabetext in Unicode, führt die Verarbeitung in Unicode durch und konvertiert den Ausgabetext in die angegebene Ausgabecodierung. Frühere Versionen von tracewpp haben Unicode-Konvertierungen vermieden und die Textverarbeitung wie bei einem Einzelbytezeichensatz ausgeführt. Dadurch kann eine Verhaltensänderung auftreten, wenn die Eingabedateien nicht der aktuellen Codepage entsprechen. Falls daraus ein Problem entsteht, sollten Sie die Eingabedateien in UTF-8 (mit BOM) konvertieren und/oder den Befehlszeilenparameter -cp:UTF-8 verwenden, um Mehrdeutigkeiten bei der Codierung zu vermeiden.

TraceLoggingProvider.h

Updates:

  • ODR-Probleme (One Definition Rule), die durch widersprüchliche Konfigurationsmakros verursacht werden, werden jetzt vermieden. Diese liegen beispielsweise vor, wenn zwei CPP-Dateien mit widersprüchlichen Definitionen von TLG_EVENT_WRITE_TRANSFER mit derselben Binärdatei verknüpft werden. Die TraceLoggingProvider.h-Hilfsprogramme berücksichtigen jetzt die Definition von TLG_EVENT_WRITE_TRANSFER in jeder CPP-Datei, anstatt willkürlich eine auszuwählen.
  • Im C++-Code wurde das TraceLoggingWrite-Makro aktualisiert, sodass mithilfe von Variadic-Vorlagen eine bessere Codefreigabe zwischen ähnlichen Ereignissen möglich ist.

Signieren von Apps mit Device Guard-Signatur

Das Signieren Ihrer Apps gestaltet sich nun einfacher. Die Device Guard-Signatur ist ein Device Guard-Feature, das im Microsoft Store für Unternehmen und Bildungseinrichtungen verfügbar ist. Durch Signaturen können Unternehmen sicherstellen, dass jede App von einer vertrauenswürdigen Quelle stammt. Letztendlich soll das Signieren von MSIX-Paketen vereinfacht werden. Weitere Informationen finden Sie in der Dokumentation zur Device Guard-Signatur.

Beispiele

Beispiele für Windows 10-Apps sind jetzt über GitHub verfügbar. Sie können den Code auf GitHub durchsuchen, von Git eine persönliche Kopie des Repositorys klonen oder ein gezipptes Archiv mit allen Beispielen herunterladen. Wir freuen uns immer über Feedback. Erstellen Sie im Repository also gern eine Anfrage, wenn Sie ein Problem oder eine Frage haben. Diese Beispiele sind für die Ausführung auf Desktopgeräten, mobilen Geräten und zukünftigen Geräten ausgelegt, welche die Universelle Windows-Plattform (UWP) unterstützen.

Vorherige SDK-Versionen

Früher veröffentlichte SDKs und Emulatoren sowie Updatedetails finden Sie auf der Archivseite.

Neue APIs

Denken Sie bei der Verwendung neuer APIs daran, Ihre App adaptiv zu programmieren, damit sie auf der größtmöglichen Anzahl von Windows 10-Geräten ausgeführt werden kann. Eine adaptive App beeindruckt mit neuen Features, wenn Geräte und die Windows-Version diese unterstützen, bietet aber ansonsten nur die Funktionalität, die auf der erkannten Plattformversion verfügbar ist. Implementierungsdetails finden Sie im Artikel zu versionsadaptivem Code.

Feedback und bekannte Probleme

Das Entwicklerforum ist die Anlaufstelle für Feedback und Updates für bekannte Probleme.

Sie können neue Entwicklerfeatures über die Kategorie „Developer Platform/API“ (Entwicklerplattform/API) in der Feedback-Hub-App vorschlagen.

Weitere Informationsquellen

Downloads und Tools

Laden Sie sich die neuesten Editionen von Visual Studio und den Windows 10-Entwicklungstools herunter.

WEITERE INFORMATIONEN

SDK-Archiv

Suchen Sie nach vorherigen Versionen des Windows SDK und anderen Tools.

ARCHIV ANZEIGEN

Windows-Blog

Auf unserem Blog erhalten Sie immer die aktuellen Informationen zu den neuesten SDK-Flights.

INFORMATIONEN ZU SDK-FLIGHTS ERHALTEN

Informationen zum Windows-Lebenszyklus

Informationen zu den Terminen der Veröffentllichung von Windows-Releaseupdates und zum Ende des Supports.

INFORMATIONEN ANZEIGEN