Aracılığıyla paylaş


OutputType, Windows Forms ve WPF projeleri için Exe'den WinExe'ye değiştirilmedi

.NET 5'te WPF ve Windows Forms uygulamaları için olarak otomatik olarak olarak değiştirildiği OutputTypeExeWinExe bir değişiklik yapıldı. .NET 6'da bu değişikliği geri döndürüyoruz ve OutputType artık SDK tarafından değiştirilmeyecek.

Sürüm kullanıma sunulmuştur

.NET 6 RC 1

Önceki davranış

.NET 5 veya üzerini hedefleyen bir proje olarak OutputType ve UseWindowsFormsExeveya UseWPF olarak ayarlandıysa true, .NET SDK'sı olarak WinExedeğişirOutputType.

Yeni davranış

OutputType artık proje dosyasındakilerden değiştirilmez.

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

Kategoriyi değiştir

Bu değişiklik kaynak uyumluluğunu etkileyebilir.

Değişiklik nedeni

.NET 5 değişikliği, hedef çerçevede koşullanması gerekmeyecek şekilde OutputType .NET MAUI uygulamalarını basitleştirmeye yönelikti. Ancak:

  • Kullanıcı beklentilerini ve hayal kırıklığına uğrayan geliştiricileri otomatik olarak çıkarsama OutputType . Daha fazla bilgi için bkz . dotnet/sdk#16563 ve bağlantılı sorunları.
  • .NET MAUI uygulamaları Varsayılan olarak Windows Forms veya WPF yerine WinUI kullanır, bu nedenle otomatik çıkarım .NET MAUI uygulamaları için bile geçerli değildir.

olarak değiştirildiği ExeWinExegerçeğine OutputType bağlıysanız, bunu proje dosyasında açıkça olarak ayarlamalısınızWinExe.

Önceki hata değişikliğinden etkilendiyseniz ve .NET 5'te eklenen mantığı devre dışı bırakmak için ayarlamanız DisableWinExeOutputInference gerekiyorsa, bu özelliği şimdi kaldırabilirsiniz.

Etkilenen API’ler

Yok

Ayrıca bkz.