OutputType establecido en WinExe para aplicaciones de WPF y WinForms

OutputType se establece de forma automática en WinExe para aplicaciones de Windows Presentation Foundation (WPF) y Windows Forms. Cuando OutputType se establece en WinExe, no se abre una ventana de la consola al ejecutar la aplicación.

Descripción del cambio

En versiones anteriores del SDK de .NET, se usa el valor especificado para OutputType en el archivo del proyecto. Por ejemplo:

<PropertyGroup>
  <OutputType>Exe</OutputType>
</PropertyGroup>

A partir de la versión 5.0.100 del SDK de .NET, cuando OutputType se establece en Exe, se cambia de forma automática a WinExe para las aplicaciones WPF y Windows Forms que tienen como destino cualquier versión del marco, incluido .NET Framework.

<PropertyGroup>
  <OutputType>WinExe</OutputType>
</PropertyGroup>

Si no se especifica OutputType en el archivo del proyecto, se usa Library como valor predeterminado y ese valor no cambia.

Motivo del cambio

Se supone que la mayoría de los usuarios no quieren que se abra una ventana de consola cuando se ejecuta una aplicación de WPF o Windows Forms. Además, ahora que estos tipos de aplicación usan el SDK de .NET en lugar del SDK de Escritorio de Windows, se establecerá el valor predeterminado correcto. Incluso si se agrega compatibilidad para seleccionar iOS y Android como destino, será más fácil seleccionar varias plataformas de destino si todas usan el mismo tipo de salida.

Versión introducida

SDK 5.0.100 de .NET

No es necesario que realice ninguna acción. Pero si quiere revertir al comportamiento anterior, establezca la propiedad DisableWinExeOutputInference en true en el archivo del proyecto.

<DisableWinExeOutputInference>true</DisableWinExeOutputInference>

API afectadas

No detectable a través del análisis de la API.