OutputType no cambiado de Exe a WinExe para los proyectos de Windows Forms y WPF
En .NET 5, se ha realizado una modificación a fin de cambiar automáticamente OutputType
de Exe
a WinExe
para aplicaciones WPF y Windows Forms. En .NET 6, se revierte esa modificación y el SDK ya no cambiará OutputType
.
Versión introducida
.NET 6 RC 1
Comportamiento anterior
Si un proyecto tiene como destino .NET 5 o superior, OutputType
se ha establecido en Exe
y UseWindowsForms
o UseWPF
se ha establecido en true
, el SDK de .NET cambiaría de OutputType
a WinExe
.
Comportamiento nuevo
OutputType
ya no cambia de lo que se ha establecido en el archivo de proyecto.
<PropertyGroup>
<OutputType>Exe</OutputType>
</PropertyGroup>
Cambio de categoría
Este cambio puede afectar a la compatibilidad de origen.
Motivo del cambio
El cambio de .NET 5 estaba pensado para simplificar las aplicaciones .NET MAUI, por lo que OutputType
no tendría que estar condicionado en la plataforma de destino. Pero:
- La inferencia automática
OutputType
interrumpió las expectativas del usuario y los desarrolladores frustrados. Para obtener más información, consulte dotnet/sdk#16563 y sus problemas vinculados. - Las aplicaciones .NET MAUI usarán WinUI de forma predeterminada, no Windows Forms ni WPF, por lo que la inferencia automática ni siquiera se les aplica.
Acción recomendada
Si se basaba en el hecho de que OutputType
se cambió de Exe
a WinExe
, debe establecerlo explícitamente en WinExe
en el archivo del proyecto.
Si el cambio importante anterior le afectó y ha tenido que establecer DisableWinExeOutputInference
para deshabilitar la lógica que se agregó en .NET 5, ya puede quitar esa propiedad.
API afectadas
N/D
Consulte también
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de