OutputType défini sur WinExe pour les applications WPF et WinForms

OutputType est automatiquement défini sur WinExe pour les applications Windows Presentation Foundation (WPF) et Windows Forms. Lorsque OutputType est défini sur WinExe, une fenêtre de console ne s’ouvre pas lorsque l’application est exécutée.

Description de la modification

Dans les versions précédentes du Kit de développement logiciel (SDK) .NET, la valeur spécifiée pour OutputType dans le fichier projet est utilisée. Par exemple :

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

À partir de la version 5.0.100 du Kit de développement logiciel (SDK) .NET, lorsque OutputType est défini sur Exe, il est automatiquement remplacé par WinExe pour les applications WPF et Windows Forms qui ciblent n’importe quelle version de l’infrastructure, y compris .NET Framework.

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

Si OutputType n’est pas spécifié dans le fichier projet, la valeur par défaut est Library et cette valeur ne change pas.

Raison du changement

Il est supposé que la plupart des utilisateurs ne veulent pas qu’une fenêtre de console s’ouvre lorsqu’une application WPF ou Windows Forms est exécutée. En outre, maintenant que ces types d’applications utilisent le Kit de développement logiciel (SDK) .NET au lieu du Kit de développement logiciel (SDK) de bureau Windows, la valeur par défaut correcte est définie. En outre, lorsque la prise en charge du ciblage d’iOS et d’Android est ajoutée, il sera plus facile de multi-cibler entre plusieurs plateformes si elles utilisent toutes le même type de sortie.

Version introduite

Kit de développement logiciel (SDK) .NET 5.0.100

Aucune autre action n’est requise de votre part. Toutefois, si vous souhaitez revenir à l’ancien comportement, définissez la propriété DisableWinExeOutputInference sur true dans votre fichier projet.

<DisableWinExeOutputInference>true</DisableWinExeOutputInference>

API affectées

Non détectable via l’analyse des API.