.NET プロジェクトで[NuGet]参照をした後、ビルド時に[error NETSDK 1130 .NET 5 以上のターゲットを設定する場合 Windows Metadata コンポーネントを直接参照することはできません]エラーが表示される場合の対処法を備忘録的に投稿します。
error NETSDK 1130 エラー
日本語に翻訳されても良く分からないエラー。
リンクされている詳細[aka.ms/netsdk1130]に対処法が記載されていますが、こちらも訳が分からず。
CsWinRTパッケージで対処
そんな時に見つけたのが[Microsoft.Windows.CsWinRT]パッケージ。
説明には、こんな記載があります。
C#/WinRT provides packaged WinRT projection support for the C# language. It is compatible with .NET 6 or later, and does not require any built-in knowledge of WinRT by the C# compiler.
C#/WinRT は、C# 言語用のパッケージ化された WinRT プロジェクション サポートを提供します。 .NET 6 以降と互換性があり、C# コンパイラーによる WinRT の組み込み知識は必要ありません。
Microsoft.Windows.CsWinRT の説明より
具体的には次の手順でインストールします。
1.[NuGet パッケージ マネージャー]の[参照]タブで “Microsoft.Windows.CsWinRT” を検索します。
2. 一覧に追加された[Microsoft.Windows.CsWinRT]を選択して[インストール]をクリックします。
3.[readme.txt]が表示されればインストールは完了です。
[Microsoft.Windows.CsWinRT]インストール後は、[error NETSDK 1130 .NET 5 以上のターゲットを設定する場合 Windows Metadata コンポーネントを直接参照することはできません]エラーが改善されます。
まとめ
今回は短い記事ですが、.NET プロジェクトで[NuGet]参照をした後、ビルド時に[error NETSDK 1130 .NET 5 以上のターゲットを設定する場合 Windows Metadata コンポーネントを直接参照することはできません]エラーが表示される場合の対処法を紹介しました。
NuGetコンポーネントの[Microsoft.Windows.CsWinRT]のインストールで解決する場合があります。
.NET プロジェクトで[error NETSDK 1130]が表示される人の参考になれば幸いです。
スポンサーリンク
最後までご覧いただき、ありがとうございます。