Aracılığıyla paylaş


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.
  • 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