Share via


NETSDK1100: stel de eigenschap EnableWindowsTargeting in op true

NETSDK1100 geeft aan dat u een project bouwt dat is gericht op Windows op Linux of macOS. Het volledige foutbericht is vergelijkbaar met het volgende voorbeeld:

Als u een project wilt bouwen dat gericht is op Windows op dit besturingssysteem, stelt u de EnableWindowsTargeting eigenschap in op true.

Als u deze fout wilt oplossen, stelt u de EnableWindowsTargeting eigenschap in op true. U kunt het instellen in het projectbestand of door te geven /p:EnableWindowsTargeting=true aan een .NET CLI-opdracht, zoals dotnet build. Hier volgt een voorbeeldprojectbestand:

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

Als u deze instelling wilt toepassen op uw hele oplossing of opslagplaats, kunt u deze instellen in een map.build.props-bestand .

Standaard downloadt .NET alle doelpakketten (en runtimepakketten voor zelfstandige builds) voor het huidige doelframework, ongeacht of deze nodig zijn of niet, omdat ze mogelijk worden overgebracht door een transitieve frameworkverwijzing. We wilden de Windows-doelpakketten niet verzenden met de niet-Windows SDK-builds, maar we wilden ook geen vanilleconsole of ASP.NET Core-app om deze targeting- en runtimepakketten automatisch te downloaden wanneer u voor het eerst bouwt. Met de EnableWindowsTargeting eigenschap kunnen ze alleen worden gedownload als u zich aanmeldt.

Zie ook