次の方法で共有


NETSDK1130: Windows メタデータ コンポーネントを直接参照することはできない

NETSDK1130 は、.NET 5 以降をターゲットとするアプリから Windows メタデータ コンポーネントを直接参照しようとしていることを示します。 完全なエラー メッセージは、次の例のようになります。

<コンポーネント名> は参照できません。 Referencing a Windows Metadata component directly when targeting .NET 5 or higher is not supported. (.NET 5 以降をターゲットにしているときは、Windows メタデータ コンポーネントを直接参照することはサポートされていません。)

このエラーを解決するには、次の方法があります。

  • Microsoft.Windows.SDK.Contracts パッケージの参照を削除します。 代わりに、プロジェクトの `TargetFramework` プロパティ経由でアクセスする Windows API のバージョンを指定します。 次に例を示します。

    <TargetFramework>net5.0-windows10.0.19041.0</TargetFramework>
    
  • .winmd ファイルで定義されているサード パーティのランタイム コンポーネントを使おうとしている場合は、Microsoft.Windows.CsWinRT NuGet パッケージへの参照を追加します。 C# プロジェクションを生成する方法については、C#/WinRT に関するドキュメントを参照してください。

詳細については、「WinRT の組み込みサポートは .NET から削除されています」および「デスクトップ アプリで Windows ランタイム API を呼び出す」を参照してください。