Свойству OutputType задано значение WinExe для приложений WPF и WinForms
Свойству OutputType
автоматически задано значение WinExe
для приложений Windows Presentation Foundation (WPF) и Windows Forms. Если свойство OutputType
имеет значение WinExe
, окно консоли не открывается при выполнении приложения.
Описание изменения
В предыдущих версиях пакета SDK для .NET используется значение, указанное для OutputType
в файле проекта. Например:
<PropertyGroup>
<OutputType>Exe</OutputType>
</PropertyGroup>
Начиная с версии 5.0.100 пакета SDK для .NET, когда параметру OutputType
присвоено значение Exe
, оно автоматически заменяется на значение WinExe
для приложений WPF и Windows Forms, предназначенных для любой версии платформы, включая .NET Framework.
<PropertyGroup>
<OutputType>WinExe</OutputType>
</PropertyGroup>
Если в файле проекта не указан параметр OutputType
, по умолчанию используется Library
и это значение не изменяется.
Причина изменения
Предполагается, что большинство пользователей не хотят, чтобы окно консоли открывалось при выполнении приложения WPF или Windows Forms. Кроме того, поскольку теперь эти типы приложений используют пакет SDK для .NET вместо пакета SDK для Windows Desktop, будет задано правильное значение по умолчанию. При добавлении поддержки для использования iOS и Android в качестве целевых платформ будет проще работать с несколькими платформами, если все они используют один и тот же тип выходных данных.
Представленные версии
Пакет SDK для .NET 5.0.100
Рекомендуемое действие
Никаких действий выполнять не требуется. Однако если вы хотите восстановить старое поведение, задайте свойству DisableWinExeOutputInference
значение true
в файле проекта.
<DisableWinExeOutputInference>true</DisableWinExeOutputInference>
Затронутые API
Невозможно обнаружить с помощью анализа API.