Megosztás a következőn keresztül:


A WinRT beépített támogatása törlődik a .NET-ből

A windowsos futtatókörnyezeti (WinRT) API-k .NET-ben való felhasználásának beépített támogatása el lesz távolítva.

Bevezetett verzió

5,0

Módosítás leírása

Korábban a CoreCLR windowsos metaadatfájlokat (WinMD- fájlokat) tudott használni az aktív és a WinRT-típusok használatához. A .NET 5-től kezdve a CoreCLR már nem tudja közvetlenül használni a WinMD-fájlokat.

Ha nem támogatott szerelvényre próbál hivatkozni, megjelenik egy FileNotFoundException. Ha aktivál egy WinRT-osztályt, kap egy PlatformNotSupportedException.

Ez a kompatibilitástörő változás a következő okok miatt történt:

  • Így a WinRT a .NET-futtatókörnyezettől elkülönítve fejleszthető és fejleszthető.
  • Szimmetria más operációs rendszerekhez, például iOS-hez és Androidhoz biztosított interop rendszerekkel.
  • Az egyéb .NET-funkciók, például a C# funkciók, a köztes nyelv (IL) vágása és az idő előtti (AOT) fordítás előnyeinek kihasználása.
  • A .NET-futtatókörnyezeti kódbázis egyszerűsítése.
  • Távolítsa el a Microsoft.Windows.SDK.Contracts csomagra mutató hivatkozásokat. Ehelyett adja meg a projekt tulajdonságán keresztül TargetFramework elérni kívánt Windows API-k verzióját. Példa:

    <TargetFramework>net5.0-windows10.0.19041.0</TargetFramework>
    
  • Ha egy .winmd fájlban definiált külső futtatókörnyezeti összetevőt használ, adjon hozzá egy hivatkozást a Microsoft.Windows.CsWinRT NuGet-csomaghoz. A C#-vetítés létrehozásának módjáról a C#/WinRT dokumentációjában olvashat.

További információ: Call Windows-futtatókörnyezet API-k asztali alkalmazásokban.

Érintett API-k