NETSDK1100: Establezca la propiedad EnableWindowsTargeting en true
NETSDK1100 indica que está compilando un proyecto que tiene como destino Windows en Linux o macOS. El mensaje de error es similar al ejemplo siguiente:
Para compilar un proyecto que tiene como destino Windows en este sistema operativo, establezca la propiedad
EnableWindowsTargeting
en true.
Para resolver este error, establezca la propiedad EnableWindowsTargeting
en true. Puede establecerla en el archivo del proyecto o pasando /p:EnableWindowsTargeting=true
a un comando de la CLI de .NET, como dotnet build
. Este es un archivo de proyecto de ejemplo:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net6.0</TargetFramework>
<EnableWindowsTargeting>true</EnableWindowsTargeting>
</PropertyGroup>
</Project>
Si desea aplicar esta configuración a toda la solución o repositorio, puede establecerla en un archivo Directory.Build.props.
.NET descarga de forma predeterminada todos los paquetes de destino (y los paquetes en tiempo de ejecución de compilaciones autocontenidas) de la plataforma de destino actual, tanto si son necesarios como si no, ya que existe la posibilidad de que los incluya una referencia de plataforma transitiva. No queríamos suministrar los paquetes de destino de Windows con compilaciones que no fueran de Windows SDK, pero tampoco queríamos que una aplicación básica de ASP.NET Core o de consola descargara automáticamente estos paquetes de destino y en tiempo de ejecución la primera vez que se realizara una compilación. La propiedad EnableWindowsTargeting
permite descargarlas solo si opta por hacerlo.