Windows SDK
Windows 11 için Windows SDK (10.0.22000), Windows uygulamaları oluşturmaya yönelik en son üst bilgileri, kitaplıkları, meta verileri ve araçları sağlar. Windows 11 ve önceki Windows sürümlerine yönelik Evrensel Windows Platformu (UWP) ve Win32 uygulamaları oluştururken bu SDK’yı kullanın.
YENİWindows Uygulama SDK’sı
Windows Uygulama SDK’sı, işletim sisteminden ayrılıp NuGet paketleri aracılığıyla geliştiricilere yayınlanan API ve araçlardan oluşan birleştirilmiş bir set sunar. Bu API’ler ve araçlar, Windows 11’de tüm masaüstü uygulamalarında tutarlı bir şekilde kullanılabilir ve Windows 10 sürüm 1809’a düşürülebilir.
Başlarken
Windows SDK’yı iki şekilde edinebilirsiniz: Bu sayfada indirme bağlantısını seçerek veya Visual Studio 2019 Yükleyicisi’nin isteğe bağlı bileşenlerinden “Windows 11 SDK (10.0.22000)” öğesini seçerek yükleyebilirsiniz.
Bu SDK’yı yüklemeden önce:
Sistem gereksinimleri
Windows SDK’nın en düşük sistem gereksinimleri şunlardır:
Desteklenen işletim sistemleri
-
Evrensel Windows Platformu (UWP) uygulama geliştirme
- Windows 10 sürüm 1507 veya üzeri: Home, Professional, Education ve Enterprise (LTSB ve S desteklenmez)
- Windows Server 2019, Windows Server 2016 ve Windows Server 2012 R2 (Yalnızca komut satırı)
-
Win32 uygulama geliştirme
- Windows 10 sürüm 1507 veya üzeri
- 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 araçların tümü 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 için KB2999226 gerekir. Windows Update üzerinden yüklemek için, Windows SDK’yı yüklemeden önce Microsoft Update’ten önerilen en son güncelleştirmeleri ve yamaları yüklediğinizden emin olun.
Yenilikler
Windows 11 için Windows SDK, uygulamalarınızı Windows işletim sisteminin en son sürümüne yükseltmenize olanak tanır. Windows 11'deki yeni özellikler hakkında daha fazla bilgi edinin.
Windows 11 ile kullanıma sunulan yeni API'leri görmek için bkz. Windows 11 derleme 22000'deki yeni API'ler.
x64 uygulamaları tarafından yüklenen her sistem kodunun yerel hızda çalışması için ARM64EC ile ARM işletim sisteminin üzerinde Windows 11'in ikili dosyalarını yeniden derleyin. Henüz ARM'yi desteklemeyen bağımlılıklarınız veya eklentileriniz olsa bile uygulamanızı aşamalı olarak ARM üzerinde yerel hızda çalışmaya geçirmek için ARM64EC'den yararlanın. Duyuruyu okuyun.
Örnekler
Windows uygulama örnekleri artık GitHub üzerinden kullanılabilir. GitHub’da koda göz atabilir, Git’ten deponun kişisel bir kopyasını alabilir veya tüm örneklerin .zip dosyasında sıkıştırılmış bir arşivini indirebilirsiniz. Geri bildirimlerinizi bekliyoruz; sorununuz veya sorunuz olursa deponun içinde bir sorun açmaktan çekinmeyin. Bu örnekler Evrensel Windows Platformu’nu (UWP) destekleyen masaüstü cihazlarında, cep telefonlarında ve gelecekte kullanıma sunulacak cihazlarda çalıştırılacak şekilde tasarlanmıştır.
Önceki SDK sürümleri
Daha önce kullanıma sunulan SDK’lar ve öykünücüler, güncelleştirme ayrıntılarıyla birlikte arşiv sayfasında bulunabilir.
API Etkinleştirme
Yeni API’leri kullanırken, uygulamanızı en geniş Windows cihaz yelpazesinde doğru çalışacak şekilde uyarlamalı olarak yazmayı göz önünde bulundurun. Uyarlamalı uygulama, cihazların ve Windows sürümünün desteklediği durumlarda yeni özellikleri etkinleştirir; aksi takdirde yalnızca algılanan platform sürümünde kullanılabilen işlevleri sunar. Uygulama ayrıntıları için Sürüm uyarlamalı kod makalesine bakın.
Sürüm notları ve bilinen sorunlar
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ğlanan uygulamalar, bunun yerine OneCoreUAP.lib öğesine geçebilir.
- Irprops.lib kaldırıldı. Irprops.lib ile bağlanan uygulamalar, bunun yerine bthprops.lib öğesine geçebilir.
- ENUM tagServerSelection, wuapicommon.h öğesinden wupai.h öğesine taşındı ve üst bilgi kaldırıldı. ENUM tagServerSelection öğesini kullanmak istiyorsanız wuapi.h veya wuapi.idl’yi dahil etmeniz gerekir.
- Windows 10 WinRT API Pack, .NET Framework 4.5+ ve .NET Core 3.0+ kitaplıklarıyla uygulamalarına en son Windows Çalışma Zamanı API’lerini eklemenize olanak tanır. Windows 10 WinRT API Pack’e erişmek için bkz. Microsoft.Windows.SDK.Contracts nuget paketi.
- İşlevlerden oluşan yazdırma ailesi artık tam olarak temsil edilebilen kayan noktalı sayılar yazdırılırken IEEE 754 yuvarlama kurallarıyla uyumludur ve fesetround çağrıları aracılığıyla yapılan yuvarlama isteklerine uyar. Eski davranış, legacy_stdio_float_rounding.obj ile bağlantı kurulurken kullanılabilir.
- Windows Uygulama Onay Seti. Uygulama Onay Seti’ndeki Desteklenen API’ler listesine ve Windows Store’a bir dizi yeni API eklendi. Desteklenenler listesindeki API’lerden bazıları Visual Studio’da kullanılamıyor veya devre dışı bırakılmış biçimde görünüyorsa bu dosyalara erişmek için kaynak dosyanızda küçük bir değişiklik yapabilirsiniz. Daha fazla bilgi için şu bilinen soruna bakın. Testler için 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ı bir UTF-8 BOM ile başlıyorsa UTF-8 dosyası olarak okunur. Aksi takdirde, UTF-16LE BOM ile başlıyorsa 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 MC tarafından oluşturulan C/C++ ETW yardımcılarında çakışan yapılandırma makrolarının neden olduğu tek tanım kuralı (ODR) sorunlarını önler (örn. çakışan MCGEN_EVENTWRITETRANSFER tanımlarına sahip iki .cpp dosyası aynı ikiliye bağlandığında, MC tarafından oluşturulan ETW yardımcıları artık birini veya diğerini rastgele seçmek yerine her .cpp dosyasındaki MCGEN_EVENTWRITETRANSFER tanımına göre değişir).
- Windows İzleme Ön İşlemcisi (tracewpp.exe) güncelleştirmeleri:
- Unicode giriş (.ini, .tpl ve kaynak kodu) dosyalarını destekler. UTF-8 veya UTF-16 bayt sırası işareti (BOM) ile başlayan giriş dosyaları Unicode olarak okunur. Bir BOM ile 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 kabul edilir.
- 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 şimdi tüm giriş metinlerini Unicode’a dönüştürür, Unicode’da işlemeyi gerçekleştirir ve çıkış metnini belirtilen çıkış kodlamasına dönüştürür. Tracewpp’nin eski sürümleri Unicode dönüştürmelerinden kaçınıyordu ve tek baytlık bir karakter kümesi varsayarak metin işleme gerçekleştiriyordu. Bu, giriş dosyalarının geçerli kod sayfasıyla uyumlu olmadığı durumlarda davranış değişikliklerine neden olabilir. Bunun bir sorun olduğu durumlarda giriş dosyalarını UTF-8’e (BOM ile) dönüştürmeniz ve/veya kodlama belirsizliğini önlemek için -cp:UTF-8 komut satırı parametresini kullanmanız faydalı olabilir.
- TraceLoggingProvider.h güncelleştirmeleri:
- Çakışan yapılandırma makrolarının neden olduğu tek tanım kuralı (ODR) sorunlarını önler. (Ör. çakışan TLG_EVENT_WRITE_TRANSFER tanımlarına sahip iki .cpp dosyası aynı ikiliye bağlandığında, TraceLoggingProvider.h yardımcıları şimdi birini veya diğerini rastgele seçmek yerine her .cpp dosyasındaki TLG_EVENT_WRITE_TRANSFER tanımına göre değişir).
- C++ kodunda, TraceLoggingWrite makrosu, değişen sayıda bağımsız değişken içeren şablonları kullanarak benzer olaylar arasında daha iyi kod paylaşımını sağlamak üzere güncelleştirilmiştir.
- Uygulamalarınızı imzalama. Device Guard imzalama, İş ve Eğitim için Microsoft Store'da kullanıma sunulan ve kuruluşların her uygulamanın güvenilir bir kaynaktan geldiğini garanti etmesine olanak tanıyan bir Device Guard özelliğidir. Device Guard İmzalama hakkında belgelere bakın.
- MSVC derleyicisi cl.exe (/Zc:preprocessor, VS 2019 v16.6'da kullanıma sunuldu) içindeki standart uyumlu C ön işlemcisini kullanarak derleme yapıldığında oluşan hataları düzeltmek için SDK üst bilgileri güncelleştirildi.
- Düzeltildi: “GdiplusTypes.h, NOMINMAX ile derlenmiyor”. Visual Studio Geri Bildirimine bakın.
- Artık /std:c11 veya /std:c17 ile derlediğinizde şunu elde ediyorsunuz:
- C99 tgmath.h
- assert.h içinde 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'nın (derleme 19041) önceki sürümünü veya Windows v10 için clang/LLVM'yi kullanın
- DirectXMath (bu sürümde yer alan 3.16 sürümü de dahil) ARM64 üzerinde Windows için Clang/LLVM ile uyumlu değil.
- Geçici bir çözüm olarak NuGet, vcpkg veya GitHub'da bulunabilen en son DirectXMath sürümünü kullanın. Bu sürümler gerekli düzeltmeleri içerir (sürüm 3.16b).
- Büyük/küçük harfe duyarlı dosya sistemleriyle normal çalışmasını sağlamak için bazı üst bilgi dosyalarında büyük/küçük harf kullanımı değiştirildi:
- OAIdl.h, ObjIdl.h, ObjIdlbase.h, OCIdl.h, Ole2.h, OleAuto.h, ve OleCtl.h'nin tümü küçük harf yapıldı.
- Windows için Clang/LLVM derlemelerinde, uyarı vermeden Windows 10 SDK'nın hem eski sürümlerini hem de en yeni sürümünü desteklemek için CLI'ya `-Wno-nonportable-system-include-path` ekleyin veya kaynağa şu #pragma öğesini ekleyin:
#ifdef __clang__
#pragma clang diagnostic ignored "-Wnonportable-system-include-path"
#endif
Windows 10 SDK, Sürüm 2004 bakım güncelleştirmesi (16/12/2020)
- Bu sürüm aşağıdaki dosyaları içerir. Bu sorunlarla karşılaşırsanız bunları önlemek 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ı (onecoreuap.lib ve kernel32.lib gibi) bağlarken karşılaşılan, beklenmeyen ve tanılanması zor olan kilitlenme sorunları çözüldü.
- AppVerifier’ın çalışmasını önleyen sorun düzeltildi
- WACK’in “Görev HighVersionLie’ı etkinleştiremedi” hatasıyla başarısız olmasına neden olan sorun düzeltildi
İndirmeler ve araçlar
Visual Studio ve Windows 10 geliştirme araçlarının en son sürümlerini alın.DAHA FAZLA BİLGİ EDİNİN
SDK arşivi
Windows SDK ve diğer araçların önceki sürümlerini bulun.ARŞİVE BAKIN