OutputType 會針對 WPF 和 WinForms 應用程式設定為 WinExe

OutputType 會針對 Windows Presentation Foundation (WPF) 和 Windows Forms 應用程式自動設定為 WinExe。 當 OutputType 設定為 WinExe 時,執行應用程式時不會開啟主控台視窗。

變更描述

在先前版本的 .NET SDK 中,會使用專案檔中針對 OutputType 所指定的值。 例如:

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

自 .NET SDK 5.0.100 版本起,當 OutputType 設為 Exe 時,即會針對以任何架構版本 (包括 .NET Framework) 為目標的 WPF 與 Windows Forms 應用程式自動變更為 WinExe

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

若專案檔中並未指定 OutputType,則會預設使用 Library,且該值不會變更。

變更原因

我們假設大多數的使用者不想在執行 WPF 或 Windows Forms 應用程式時開啟主控台視窗。 此外,這些應用程式類型現在會使用 .NET SDK,而非 Windows 桌面 SDK,如此便可設定正確的預設值。 另外,在新增以 iOS 和 Android 為目標的支援後,若目標全都使用相同的輸出類型,即可更輕鬆地在多個平台之間設定多個目標。

導入的版本

.NET SDK 5.0.100

您無須採取任何動作。 不過,若您想要還原為舊行為,請在專案檔終將 DisableWinExeOutputInference 屬性設為 true

<DisableWinExeOutputInference>true</DisableWinExeOutputInference>

受影響的 API

無法透過 API 分析偵測。