NETSDK1100: Nastavte vlastnost EnableWindowsTargeting na hodnotu true

NETSDK1100 značí, že vytváříte projekt, který cílí na Windows v Linuxu nebo macOS. Úplná chybová zpráva je podobná následujícímu příkladu:

Chcete-li vytvořit projekt určený pro Windows v tomto operačním systému, nastavte EnableWindowsTargeting vlastnost na true.

Chcete-li tuto chybu vyřešit, nastavte EnableWindowsTargeting vlastnost na true. Můžete ho nastavit v souboru projektu nebo předáním /p:EnableWindowsTargeting=true příkazu .NET CLI, například dotnet build. Tady je ukázkový soubor projektu:

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

Pokud chcete toto nastavení použít pro celé řešení nebo úložiště, můžete ho nastavit v souboru Directory.Build.props .

.NET ve výchozím nastavení stáhne všechny balíčky cílení (a balíčky runtime pro samostatná sestavení) pro aktuální cílovou architekturu bez ohledu na to, jestli jsou potřeba, nebo ne, protože mohou být přeneseny prostřednictvím tranzitivního odkazu na architekturu. Nechtěli jsme balíčky cílení pro Windows dodávat s buildy sady SDK pro jiné systémy než Windows, ale také jsme nechtěli, aby aplikace vanilla console nebo ASP.NET Core automaticky stahovala tyto cíle a balíčky runtime při prvním sestavení. Tato EnableWindowsTargeting vlastnost umožňuje jejich stažení pouze v případě, že se přihlásíte.

Viz také