Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Dans .NET 5, une modification a été apportée pour changer automatiquement OutputType de Exe à WinExe dans les applications WPF et Windows Forms. Dans .NET 6, nous rétablissons cette modification et OutputType ne seront plus modifiés 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 était défini sur UseWPF, alors le SDK .NET changerait true à OutputType.
Nouveau comportement
OutputType n’est plus modifié par rapport à ce qui est dans le fichier de projet.
<PropertyGroup>
<OutputType>Exe</OutputType>
</PropertyGroup>
Modifier la catégorie
Cette modification peut affecter la compatibilité source .
Raison de la modification
La modification de .NET 5 a été conçue pour simplifier les applications .NET MAUI, de sorte qu’elle OutputType n’aurait pas besoin d’être conditionnée sur le framework cible. Toutefois :
- L'inférence automatique de
OutputTypea brisé les attentes des utilisateurs et frustré les développeurs. 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 vous êtes appuyé sur le fait que OutputType a été modifié de Exe à WinExe, vous devriez le définir explicitement sur WinExe dans le fichier projet.
Si vous avez été affecté par le changement de rupture précédent et que vous deviez définir DisableWinExeOutputInference pour désactiver la logique introduite dans .NET 5, vous pouvez supprimer cette propriété maintenant.
API affectées
N/A