Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
No .NET 5, foi implementada uma alteração para alterar OutputType
automaticamente de Exe
para WinExe
em aplicativos WPF e Windows Forms. No .NET 6, estamos revertendo essa alteração e OutputType
não será mais alterado pelo SDK.
Versão introduzida
.NET 6 RC 1
Comportamento anterior
Se um projeto direcionado ao .NET 5 ou superior fosse configurado com OutputType
para Exe
, e UseWindowsForms
ou UseWPF
fosse configurado para true
, então o SDK do .NET alteraria OutputType
para WinExe
.
Novo comportamento
OutputType
não é mais alterado de como está no arquivo de projeto.
<PropertyGroup>
<OutputType>Exe</OutputType>
</PropertyGroup>
Alterar categoria
Essa alteração pode afetar a compatibilidade da fonte .
Motivo da alteração
A alteração do .NET 5 destinava-se a simplificar os aplicativos MAUI do .NET, de modo que OutputType
não precisasse ser condicionada à estrutura de destino. No entanto:
- Inferir
OutputType
automaticamente quebrou as expectativas do usuário e frustrou os desenvolvedores. Para obter mais informações, consulte dotnet/sdk#16563 e seus problemas vinculados. - Os aplicativos MAUI do .NET usarão o WinUI por padrão, não o Windows Forms ou o WPF, portanto, a inferência automática nem se aplica a aplicativos MAUI do .NET.
Ação recomendada
Se você se baseou no fato de que OutputType
foi alterado de Exe
para WinExe
, você deve defini-lo WinExe
explicitamente no arquivo de projeto.
Se você foi afetado pela alteração interruptiva anterior e precisou definir DisableWinExeOutputInference
para desabilitar a lógica adicionada ao .NET 5, poderá remover essa propriedade agora.
APIs afetadas
Não aplicável