OutputType für WPF- und WinForms-Apps auf WinExe festgelegt

OutputType wird für Windows Presentation Foundation- und Windows Forms-Apps automatisch auf WinExe festgelegt. Wenn OutputType auf WinExe festgelegt ist, wird ein Konsolenfenster nicht geöffnet, sobald die App ausgeführt wird.

Änderungsbeschreibung

In früheren Versionen des .NET SDK wird der Wert verwendet, der in der Projektdatei für OutputType angegeben ist. Zum Beispiel:

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

Ab Version 5.0.100 des .NET SDK wird OutputType für WPF- und Windows Forms-Apps für alle Frameworkversionen, einschließlich des .NET Framework, automatisch auf WinExe festgelegt, wenn OutputType auf Exe festgelegt ist.

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

Wenn OutputType in der Projektdatei nicht angegeben ist, wird als Standardwert Library verwendet, und dieser Wert wird nicht geändert.

Grund für die Änderung

Es wird angenommen, dass die meisten Benutzer nicht möchten, dass beim Ausführen einer Windows Presentation Foundation- oder Windows Forms-App ein Konsolenfenster geöffnet wird. Darüber hinaus wird jetzt, da diese Anwendungstypen das .NET SDK anstelle des Windows Desktop SDK verwenden, die richtige Standardeinstellung festgelegt. Wenn darüber hinaus Unterstützung für iOS und Android hinzugefügt wird, wird es einfacher, mehrere Plattformen gleichzeitig als Ziel zu wählen, sofern alle den gleichen Ausgabetyp verwenden.

Eingeführt in Version

.NET SDK 5.0.100

Ihrerseits müssen Sie nichts tun. Wenn Sie jedoch zum alten Verhalten zurückkehren möchten, legen Sie die Eigenschaft DisableWinExeOutputInference in Ihrer Projektdatei auf true fest.

<DisableWinExeOutputInference>true</DisableWinExeOutputInference>

Betroffene APIs

Nicht über API-Analyse erkennbar.