Поделиться через


Свойству 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.