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.
Javasolt művelet
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.