OutputType impostato su WinExe per le app WPF e WinForms

OutputType viene impostato automaticamente su WinExe per le app Windows Presentation Foundation (WPF) e Windows Forms. Quando OutputType è impostato su WinExe, una finestra della console non si apre quando viene eseguita l'app.

Descrizione delle modifiche

Nelle versioni precedenti di .NET SDK viene usato il valore specificato per OutputType nel file di progetto. Ad esempio:

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

A partire dalla versione 5.0.100 di .NET SDK, quando OutputType è impostata su Exe, viene automaticamente modificata in WinExe per le app WPF e Windows Forms destinate a qualsiasi versione del framework, incluso .NET Framework.

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

Se OutputType non viene specificato nel file di progetto, l'impostazione viene predefinita su Library e tale valore non viene modificato.

Motivo della modifica

Si presuppone che la maggior parte degli utenti non voglia che si apra una finestra della console quando viene eseguita un'app WPF o Windows Forms. Inoltre, ora che tali tipi di applicazione utilizzano .NET SDK anziché Windows Desktop SDK, sarà impostato il valore predefinito corretto. In più, quando viene aggiunto il supporto per la destinazione iOS e Android, sarà più facile eseguire più destinazioni tra più piattaforme se utilizzano tutte lo stesso tipo di output.

Versione introdotta

.NET SDK 5.0.100

Nessuna azione necessaria da parte dell’utente. Tuttavia, se si desidera ripristinare il comportamento precedente, impostare la proprietà DisableWinExeOutputInference su true nel file di progetto.

<DisableWinExeOutputInference>true</DisableWinExeOutputInference>

API interessate

Non rilevabile tramite analisi dell'API.