OutputType n’est pas passé d’Exe à WinExe pour les projets Windows Forms et WPF
Dans .NET 5, un changement a été apporté pour passer automatiquement OutputType
de Exe
à WinExe
pour les applications WPF et Windows Forms. Dans .NET 6, nous rétablissons ce changement et OutputType
ne sera plus modifié par le Kit de développement logiciel (SDK).
Version introduite
.NET 6 RC 1
Comportement précédent
Si un projet ciblait .NET 5 ou version ultérieure, OutputType
était défini sur Exe
et UseWindowsForms
ou UseWPF
était défini sur true
, le Kit de développement logiciel (SDK) .NET passait OutputType
à WinExe
.
Nouveau comportement
OutputType
n’est plus modifié en fonction de ce qui se trouve dans le fichier projet.
<PropertyGroup>
<OutputType>Exe</OutputType>
</PropertyGroup>
Modifier la catégorie
Ce changement peut affecter la compatibilité source.
Raison du changement
Le changement de .NET 5 visait à simplifier les applications .NET MAUI, de sorte que OutputType
n’aurait pas besoin d’être conditionné sur la version cible de .Net Framework. Toutefois :
- Déduire automatiquement les attentes cassées des utilisateurs et développeurs frustrés
OutputType
. Pour plus d’informations, consultez dotnet/sdk#16563 et ses problèmes liés. - Les applications .NET MAUI utilisent WinUI par défaut et non Windows Forms ou WPF, de sorte que l’inférence automatique ne s’applique même pas aux applications .NET MAUI.
Action recommandée
Si vous invoquez le fait que OutputType
est passé de Exe
à WinExe
, vous devez le définir explicitement sur WinExe
dans le fichier projet.
Si vous avez été impacté par le changement cassant précédent et que vous avez dû définir DisableWinExeOutputInference
pour désactiver la logique qui a été ajoutée dans .NET 5, vous pouvez supprimer cette propriété maintenant.
API affectées
N/A
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour