single.php

[error NETSDK 1130 Windows Metadata コンポーネントを直接参照することはできません]エラーの対処法

.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]が表示される人の参考になれば幸いです。

スポンサーリンク

最後までご覧いただき、ありがとうございます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です