Windows SDK

Windows 11 için Windows SDK 'sı (10.0.26100), Windows uygulamaları oluşturmaya yönelik en son üst bilgileri, kitaplıkları, meta verileri ve araçları sağlar. Windows 11, sürüm 24H2 ve önceki Windows sürümleri için Evrensel Windows Platformu (UWP) ve Win32 uygulamaları oluşturmak için bu SDK'yı kullanın.

Bahşiş

Windows Uygulama SDK'sı
Windows Uygulama SDK'sı, işletim sisteminden ayrılmış ve NuGet paketleri aracılığıyla geliştiricilere sunulan birleşik bir API'ler ve araçlar kümesi sağlar. Bu API'ler ve araçlar, Windows 11'deki herhangi bir masaüstü uygulaması tarafından tutarlı bir şekilde ve Windows 10, sürüm 1809'a alt düzey olarak kullanılabilir.

Başlarken

Windows SDK'sını iki şekilde alabilirsiniz: indirme bağlantısını seçerek veya Visual Studio 2022 Yükleyicisi'nin isteğe bağlı bileşenlerinde "Windows 11 SDK (10.0.26100.0)" öğesini seçerek bu sayfadan yükleyin. Bu SDK'yi yüklemeden önce:

Yükleyici > indirme

.iso > indirme

Son güncelleştirme: Eylül 2024

Sistem gereksinimleri

Windows SDK'sı aşağıdaki en düşük sistem gereksinimlerine sahiptir:

Desteklenen işletim sistemleri

  • Windows 11, sürüm 21h2 veya üzeri: Home, Pro, Education ve Enterprise (LTSC UWP için desteklenmez)
  • Windows 10, sürüm 1507 veya üzeri: Home, Pro, Education ve Enterprise (LTSB/LTSC ve S modu UWP için desteklenmez)
  • Windows Server 2022, Windows Server 2019, Windows Server 2016 ve Windows Server 2012 R2 (Yalnızca Komut satırı)
  • Windows 8.1
  • Windows 7 SP1

(Önceki işletim sistemlerinde tüm araçlar desteklenmez)

Donanım gereksinimleri

  • 1,6 GHz veya daha hızlı işlemci
  • 1 GB RAM
  • 4 GB kullanılabilir sabit disk alanı

Ek SDK gereksinimleri

Windows 8.1 ve önceki işletim sistemlerine yükleme, Windows'da Universal C Çalışma Zamanı için bir Güncelleştirme gerektirir. Windows Update aracılığıyla yüklemek için, Windows SDK'sını yüklemeden önce Microsoft Update'ten önerilen en son güncelleştirmeleri ve düzeltme eklerini yüklediğinizden emin olun.

Örnekleri

Windows uygulama örnekleri artık GitHubaracılığıyla kullanılabilir. GitHub'daki koda göz atabilir, Git'ten deponun kişisel bir kopyasını kopyalayabilir veya tüm örneklerin sıkıştırılmış arşivini indirebilirsiniz. Geri bildirimlerinizi bekliyoruz, bu nedenle bir sorununuz veya sorunuz varsa depoda bir sorun açmaktan çekinmeyin. Bu örnekler Evrensel Windows Platformunu (UWP) destekleyen masaüstü, mobil ve gelecekteki cihazlarda çalışacak şekilde tasarlanmıştır.

Önceki SDK sürümleri

Güncelleştirme ayrıntıları da dahil olmak üzere daha önce yayımlanan SDK'lar ve öykünücülerarşiv sayfasında bulunabilir.

API Light Up

Yeni API'leri kullanırken, uygulamanızı en geniş Windows cihaz dizisinde düzgün çalışacak şekilde uyarlamalı olacak şekilde yazmayı göz önünde bulundurun. Uyarlamalı bir uygulama, cihazların ve Windows sürümünün desteklediği her yerde yeni özelliklerle "yanar", ancak aksi takdirde yalnızca algılanan platform sürümünde kullanılabilir işlevselliği sunar. Uygulama ayrıntıları içinSürüm uyarlamalı kod makalesine bakın.

Sürüm notları ve bilinen sorunlar

Windows 11, Derleme 10.0.26100.1742 (24.09.2024'te yayımlandı)

Windows 11, sürüm 24h2 genel sürümüne karşılık gelen sürüm.

Windows 11, Derleme 10.0.26100 (22.05.2024'te yayımlandı)

Windows 11, sürüm 24h2 önizlemesine karşılık gelen 10.0.26100 serisinin ilk sürümü.

Windows 11, Derleme 10.0.22621.3235 (29.02.2024'te yayımlandı)

Bakım güncelleştirmesi 10.0.22621.3235.

Windows 11, Derleme 10.0.22621.2428 (24.10.2023'te yayımlandı)

Bakım güncelleştirmesi 10.0.22621.2428.

Windows 11, Sürüm 22H2, Derleme 10.0.22621.1778

Güncelleştirme 10.0.22621.1778. Vurgulanan özellikler şunlardır:

  • WindowTabManager API'leri, sekmeli arabirimlere sahip uygulamaların Windows kabuğuna açık sekmeler hakkında bilgi sağlamasına olanak tanır.
  • Kullanım kolaylığını geliştirmek ve insan varlığı özelliklerini destekleyen algılayıcılar için yeni ayarlar eklemek için humanPresence API'lerinde yapılan güncelleştirmeler.
  • RemoteDesktop API'leri, uygulamaların uzak ve yerel masaüstü arasında geçiş yapmasına olanak tanır.
Windows 11, sürüm 22H2 için Windows SDK
  • Bakım güncelleştirmesi 10.0.22621.755. VS 17.4 sürümü için ARM64 desteği içerir
Windows 10 SDK, Sürüm 2104
  • api-ms-win-net-isolation-l1-1-0.lib kaldırıldı. api-ms-win-net-isolation-l1-1-0.lib ile bağlantı oluşturan uygulamalar, yerine OneCoreUAP.lib olarak geçiş yapabilir.

  • irprops.lib kaldırıldı. irprops.lib ile bağlantı kuran uygulamalar, açılan bir değiştirme olarak bthprops.lib dosyasına geçebilir.

  • ENUM tagServerSelection wuapicommon.h dosyasından wupai.h dosyasına taşındı ve üst bilgi kaldırıldı. ENUM tagServerSelection kullanmak isterseniz wuapi.h veya wuapi.idl eklemeniz gerekir.

  • Windows 10 WinRT API Paketi, .NET Framework 4.5+ ve .NET Core 3.0+ kitaplıklarınıza ve uygulamalarınıza en son Windows Çalışma Zamanı API'leri desteğini eklemenize olanak tanır. Windows 10 WinRT API Paketi'ne erişmek için bkz. Microsoft.Windows.SDK.Contracts nuget paketi.

  • Printf işlev ailesi artık tam olarak temsil edilebilir kayan noktalı sayıları yazdırırken IEEE 754 yuvarlama kurallarıyla uyumlu ve fesetroundçağrıları aracılığıyla istenen yuvarlama moduna uyacak. eski davranış, legacy_stdio_float_rounding.objile bağlanırken kullanılabilir.

  • Windows Uygulama Sertifikasyon Seti. Uygulama Sertifikasyon Seti ve Windows Mağazası'ndaki Desteklenen API'ler listesine birkaç yeni API eklendi. Desteklenen listede Visual Studio'da gri veya devre dışı görünen API'ler varsa, bunlara erişmek için kaynak dosyanızda küçük bir değişiklik yapabilirsiniz. Daha fazla ayrıntı içinbu bilinen sorununa bakın. testlerde daha fazla güncelleştirme bulun.

  • İleti Derleyicisi (mc.exe) güncelleştirmeleri:

    • Şimdi .mc dosyalarında Unicode bayt sırası işaretini (BOM) algılar. .mc dosyası utf-8 bom ile başlıyorsa, utf-8 dosyası olarak okunur. Aksi takdirde, UTF-16LE BOM ile başlarsa UTF-16LE dosyası olarak okunur. -u parametresi belirtildiyse, UTF-16LE dosyası olarak okunur. Aksi takdirde, geçerli kod sayfası (CP_ACP) kullanılarak okunur.
    • Artık çakışan yapılandırma makrolarından kaynaklanan MC tarafından oluşturulan C/C++ ETW yardımcılarında tek tanım kuralı (ODR) sorunlarından kaçınıyor (örneğin, çakışan MCGEN_EVENTWRITETRANSFER tanımlarına sahip iki .cpp dosyası aynı ikili dosyaya bağlandığında, MC tarafından oluşturulan ETW yardımcıları artık rastgele bir şekilde birini seçmek yerine her .cpp dosyasındaki MCGEN_EVENTWRITETRANSFER tanımına saygı gösterecektir.
  • Windows trace Önişlemcisi (tracewpp.exe) güncelleştirmeleri:

    • Unicode giriş (.ini, .tpl ve kaynak kodu) dosyalarını destekler. UTF-8 veya UTF-16 bayt sipariş işareti (BOM) ile başlayan giriş dosyaları Unicode olarak okunur. Ürün reçetesiyle başlamayan giriş dosyaları geçerli kod sayfası (CP_ACP) kullanılarak okunur. Geriye dönük uyumluluk için, -UnicodeIgnore komut satırı parametresi belirtilirse UTF-16 BOM ile başlayan dosyalar boş olarak değerlendirilir.
    • Unicode çıkış (.tmh) dosyalarını destekler. Varsayılan olarak, çıkış dosyaları geçerli kod sayfası (CP_ACP) kullanılarak kodlanır. Unicode çıkış dosyaları oluşturmak için -cp:UTF-8 veya -cp:UTF-16 komut satırı parametrelerini kullanın.
    • Davranış değişikliği: tracewpp artık tüm giriş metnini Unicode'a dönüştürür, Unicode olarak işleme gerçekleştirir ve çıkış metnini belirtilen çıkış kodlamasına dönüştürür. tracewpp'nin önceki sürümleri Unicode dönüştürmelerinden kaçındı ve tek baytlık bir karakter kümesi varsayılarak metin işleme gerçekleştirildi. Bu, giriş dosyalarının geçerli kod sayfasına uymadığı durumlarda davranış değişikliklerine yol açabilir. Bunun bir sorun olduğu durumlarda, kodlama belirsizliğini önlemek için giriş dosyalarını UTF-8'e (BOM ile) dönüştürmeyi ve/veya -cp:UTF-8 komut satırı parametresini kullanmayı göz önünde bulundurun.
  • TraceLoggingProvider.h güncelleştirmeleri:

    • Çakışan yapılandırma makrolarının neden olduğu tek tanım kuralı (ODR) sorunlarını önler (örneğin, çakışan TLG_EVENT_WRITE_TRANSFER tanımlarına sahip iki .cpp dosyası aynı ikili dosyaya bağlandığında, TraceLoggingProvider.h yardımcıları artık rastgele bir şekilde birini seçmek yerine her .cpp dosyasındaki TLG_EVENT_WRITE_TRANSFER tanımına saygı gösterir.
    • C++ kodunda TraceLoggingWrite makrosunda, variadic şablonları kullanılarak benzer olaylar arasında daha iyi kod paylaşımı sağlamak için güncelleştirilmiştir.
  • Uygulamalarınızı imzalama. Device Guard imzalama, işletmelerin her uygulamanın güvenilir bir kaynaktan geldiğinden emin olmasını sağlayan İş ve Eğitim için Microsoft Store'da bulunan bir Device Guard özelliğidir. Device Guard İmzalamahakkındaki belgelerine bakın.

  • SDK üst bilgileri, MSVC derleyici cl.exe (/Zc:önişlemci, VS 2019 v16.6 ile sunulan) standart uyumlu C ön işlemcisi kullanılarak derlenirken oluşan hataları gidermek için güncelleştirildi.

  • Düzeltildi: "GdiplusTypes.h NOMINMAX ile derlenmiyor". Bkz. Visual Studio Geri Bildirim.

  • /std:c11 veya /std:c17 ile derleme yaparken şunları elde edersiniz:

    • C99 tgmath.h
    • assert.h dosyasında C11 static_assert
    • C11 stdalign.h
    • C11 stdnoreturn.h
  • ARM64'ü hedefleyen Windows v11 için Clang/LLVM, en son winnt.h ile uyumlu değil

    • Geçici bir çözüm olarak ARM64 platformlarını hedeflerken Windows 10 SDK'sının önceki sürümünü (derleme 19041) veya Windows v10 için clang/LLVM'yi kullanın
  • DirectXMath (bu sürümdeki sürüm 3.16 dahil) ARM64 üzerinde Windows için Clang/LLVM ile uyumlu değildir.

  • Bazı üst bilgi dosyalarının büyük/küçük harfe duyarlı dosya sistemleri için normalleştirilmesi amacıyla değiştirildi:

    • OAIdl.h, ObjIdl.h, ObjIdlbase.h, OCIdl.h, Ole2.h, OleAuto.h ve OleCtl.h küçük harfle yapılmıştır.
    • Windows için Clang/LLVM derlemeleri için, hem eski sürümü hem de en son Windows 10 SDK'sını uyarı olmadan desteklemek için CLI'ye -Wno-nonportable-system-include-path veya kaynakta aşağıdaki #pragma ekleyin:

    #ifdef __clang__

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

    #endif

Windows 10 SDK, Sürüm 2004 hizmet güncelleştirmesi (16.12.2020'de yayımlandı)

Bu sürüm aşağıdaki dosyaları içerir. Bu sorunlarla karşılaşırsanız, bunlardan kaçınmak için SDK sürümünüzü en kısa sürede güncelleştirmenizi öneririz:

  • Hem şemsiye kitaplıkları hem de yerel işletim sistemi kitaplıklarını (örneğin, onecoreuap.lib ve kernel32.lib) bağlarken öngörülemeyen ve tanılaması zor kilitlenmeler çözüldü
  • AppVerifier'ın çalışmasını engelleyen sorun çözüldü
  • WACK'nin "Görev HighVersionLie'yi etkinleştiremedi" hatasıyla başarısız olmasına neden olan sorun çözüldü

Diğer kaynaklar