WinRT için yerleşik destek .NET'ten kaldırıldı
.NET'te Windows çalışma zamanı (WinRT) API'lerinin kullanımı için yerleşik destek kaldırılır.
Sürüm kullanıma sunulmuştur
5.0
Açıklama değiştirildi
Daha önce CoreCLR, Etkin ve WinRT türlerini kullanmak için Windows meta verileri (WinMD) dosyalarını kullanabilirdi. .NET 5'ten başlayarak CoreCLR artık WinMD dosyalarını doğrudan tüketemez.
Desteklenmeyen bir derlemeye başvurmaya çalışırsanız, bir FileNotFoundExceptionalırsınız. Bir WinRT sınıfını etkinleştirirseniz bir PlatformNotSupportedExceptionalırsınız.
Bu hataya neden olan değişiklik aşağıdaki nedenlerle yapılmıştır:
- Bu nedenle WinRT, .NET çalışma zamanından ayrı olarak geliştirilebilir ve geliştirilebilir.
- iOS ve Android gibi diğer işletim sistemleri için sağlanan birlikte çalışma sistemleriyle simetri için.
- C# özellikleri, ara dil (IL) kırpma ve önceden (AOT) derlemesi gibi diğer .NET özelliklerinden yararlanmak için.
- .NET çalışma zamanı kod tabanını basitleştirmek için.
Önerilen eylem
Microsoft.Windows.SDK.Contracts paketi başvurularını kaldırın. Bunun yerine, projenin özelliği aracılığıyla
TargetFramework
erişmek istediğiniz Windows API'lerinin sürümünü belirtin. Örneğin:<TargetFramework>net5.0-windows10.0.19041.0</TargetFramework>
.winmd dosyasında tanımlanan bir üçüncü taraf çalışma zamanı bileşeni kullanıyorsanız Microsoft.Windows.CsWinRT NuGet paketine bir başvuru ekleyin. C# projeksiyonunu oluşturma hakkında bilgi için C#/WinRT belgelerine bakın.
Daha fazla bilgi için bkz. Masaüstü uygulamalarında Windows Çalışma Zamanı API'lerini çağırma.
Etkilenen API’ler
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin