WinRT の組み込みサポートは .NET から削除されています
.NET の
導入されたバージョン
5.0
変更の説明
以前は、CoreCLR では、
サポートされていないアセンブリを参照しようとすると、
この破壊的変更は次の理由から行われました。
- WinRT は .NET ランタイムとは別に開発し、改善できるため。
- iOS や Android など、他のオペレーティング システムに提供されている相互運用システムと釣り合いを取るため。
- C# の機能、中間言語 (IL) のトリミング、Ahead Of Time (AOT) コンパイルなど、その他の .NET 機能を活用するため。
- .NET ランタイム コードベースを簡略化するため。
推奨アクション
Microsoft.Windows.SDK.Contracts パッケージの参照を削除します。 代わりに、プロジェクトの
`TargetFramework` プロパティ経由でアクセスする Windows API のバージョンを指定します。 次に例を示します。<TargetFramework>net5.0-windows10.0.19041.0</TargetFramework>
.winmd ファイルで定義されているサード パーティのランタイム コンポーネントを使おうとしている場合は、Microsoft.Windows.CsWinRT NuGet パッケージへの参照を追加します。 C# プロジェクションを生成する方法については、C#/WinRT に関するドキュメントを参照してください。
詳細については、「
影響を受ける API
.NET