NETSDK1100: EnableWindowsTargeting プロパティを true に設定します

NETSDK1100 は、Linux または macOS 上で Windows を対象とするプロジェクトをビルドしていることを示します。 完全なエラー メッセージは、次の例のようになります。

このオペレーティング システムで Windows を対象とするプロジェクトをビルドするには、EnableWindowsTargeting プロパティを true に設定します。

このエラーを解決するには、EnableWindowsTargeting プロパティを true に設定します。 これをプロジェクト ファイルで設定するか、/p:EnableWindowsTargeting=true を .NET CLI コマンド (dotnet build など) に渡します。 プロジェクト ファイルの例を次に示します。

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net6.0</TargetFramework>
    <EnableWindowsTargeting>true</EnableWindowsTargeting>
  </PropertyGroup>
</Project>

この設定をソリューションまたはリポジトリ全体に適用する場合は、Directory.Build.props ファイルで設定できます。

既定では、現在のターゲット フレームワークのすべてのターゲット パック (および自己完結型ビルド用のランタイム パック) が、必要かどうかにかかわらず .NET によってダウンロードされます。これは、これらのパックが、推移的なフレームワーク参照によって取り込まれる可能性があるためです。 Windows SDK 以外のビルドを含む Windows ターゲット パックを発送していませんでしたが、ユーザーが最初にビルドするときに、バニラ コンソールや ASP.NET Core アプリを使用して、これらのターゲット パックやランタイム パックを自動的にダウンロードすることを推奨しているわけでもありませんでした。 EnableWindowsTargeting プロパティを使用すると、選択した場合にのみダウンロードすることができます。

こちらもご覧ください