Windows Forms 및 WPF 프로젝트에 대해 OutputType이 Exe에서 WinExe로 변경되지 않음

.NET 5에서는 WPF 및 Windows Forms 앱에 대해 OutputTypeExe에서 WinExe로 자동으로 변경되는 변경 사항이 적용되었습니다 .NET 6에서는 이 변경 사항이 복원되어 OutputType이 더 이상 SDK에 의해 변경되지 않습니다.

도입된 버전

.NET 6 RC 1

이전 동작

프로젝트의 대상이 .NET 5 이상인 경우 OutputTypeExe로 설정되었고 UseWindowsForms 또는 UseWPFtrue로 설정되었다면 .NET SDK가 OutputTypeWinExe로 변경합니다.

새 동작

OutputType이 더 이상 프로젝트 파일의 내용에서 변경되지 않습니다.

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

범주 변경

이 변경은 원본 호환성에 영향을 줄 수 있습니다.

변경 이유

.NET 5 변경 사항OutputType의 조건이 대상 프레임워크가 되지 않도록 .NET MAUI 앱을 간소화하려는 의도로 도입되었습니다. 단,

  • OutputType이 자동으로 유추되어 사용자 기대와 다른 결과가 나오고 개발자들이 불편을 겪었습니다. 자세한 내용은 dotnet/sdk#16563 및 연결된 문제를 참조하세요.
  • .NET MAUI 앱은 기본적으로 Windows Forms 또는 WPF가 아닌 WinUI를 사용하게 되어 .NET MAUI 앱에 자동 유추가 적용되지 않습니다.

OutputTypeExe에서 WinExe로 변경된다는 사실에 의존하고 있었다면 프로젝트 파일에서 이를 명시적으로 WinExe로 설정해야 합니다.

이전의 호환성이 손상되는 변경으로 인해 영향을 받아서 .NET 5에 추가되었던 논리를 비활성화하기 위해 DisableWinExeOutputInference를 설정해야 했었다면 이제 해당 속성을 제거해도 됩니다.

영향을 받는 API

해당 없음

참고 항목