WPF アプリと WinForms アプリで OutputType が WinExe に設定されている
OutputType
は、Windows Presentation Foundation (WPF) アプリと Windows フォーム アプリでは、自動的に WinExe
に設定されます。 OutputType
が WinExe
に設定されている場合、アプリの実行時にコンソール ウィンドウは開きません。
変更内容
以前のバージョンの .NET SDK では、プロジェクト ファイルで OutputType
に指定されている値が使用されます。 次に例を示します。
<PropertyGroup>
<OutputType>Exe</OutputType>
</PropertyGroup>
.NET SDK の 5.0.100 バージョンからは、OutputType
を Exe
に設定すると、.NET Framework を含むあらゆるフレームワーク バージョンを対象にする WPF アプリと Windows フォーム アプリの場合、自動的に WinExe
に変更されます。
<PropertyGroup>
<OutputType>WinExe</OutputType>
</PropertyGroup>
OutputType
がプロジェクト ファイルで指定されていない場合は、既定値の Library
になり、その値は変更されません。
変更理由
WPF アプリまたは Windows フォーム アプリの実行時に、ほとんどのユーザーがコンソール ウィンドウを開かないことを前提としています。 さらに、これらの種類のアプリケーションでは .NET SDK が使用され (Windows Desktop SDK が使用されるのではなく)、正しい既定値が設定されるようになります。 さらに、iOS と Android を対象としたサポートが追加されると、これらすべてで同じ出力の種類が使用される場合に、複数のプラットフォーム間で複数のターゲットを指定することが容易になります。
導入されたバージョン
.NET SDK 5.0.100
推奨アクション
ユーザー側の対応は必要ありません。 ただし、以前の動作に戻す場合は、プロジェクト ファイルの DisableWinExeOutputInference
プロパティを true
に設定します。
<DisableWinExeOutputInference>true</DisableWinExeOutputInference>
影響を受ける API
API 分析では検出できません。
.NET