Bagikan melalui


OutputType diatur ke WinExe untuk aplikasi WPF dan WinForms

OutputTypesecara otomatis diatur ke WinExe untuk Windows Presentation Foundation (WPF) dan aplikasi Formulir Windows. Saat OutputType diatur ke WinExe, jendela konsol tidak terbuka saat aplikasi dijalankan.

Deskripsi perubahan

Dalam versi .NET SDK sebelumnya, nilai yang ditentukan untuk OutputType dalam file proyek digunakan. Misalnya:

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

Mulai versi 5.0.100 dari .NET SDK, ketika OutputType diatur ke Exe, secara otomatis diubah ke WinExe untuk aplikasi WPF dan Formulir Windows yang menargetkan versi kerangka kerja apa pun, termasuk .NET Framework.

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

Jika OutputType tidak ditentukan dalam file proyek, nilai tersebut default ke Library dan nilai tersebut tidak berubah.

Alasan untuk berubah

Diasumsikan bahwa sebagian besar pengguna tidak ingin jendela konsol terbuka saat aplikasi WPF atau Formulir Windows dijalankan. Selain itu, sekarang setelah jenis aplikasi ini menggunakan .NET SDK alih-alih Windows Desktop SDK, default yang benar akan diatur. Selanjutnya, ketika dukungan untuk menargetkan iOS dan Android ditambahkan, akan lebih mudah untuk multi-target antara beberapa platform jika semuanya menggunakan jenis output yang sama.

Versi yang diperkenalkan

.NET SDK 5.0.100

Tidak ada tindakan yang diperlukan di bagian Anda. Namun, jika Anda ingin kembali ke perilaku lama, atur properti ke DisableWinExeOutputInferencetrue dalam file proyek Anda.

<DisableWinExeOutputInference>true</DisableWinExeOutputInference>

API yang Terpengaruh

Tidak terdeteksi melalui analisis API.