O padrão StripSymbols é true
Quando o .NET 7 introduziu a implantação do AOT nativo, ele também introduziu a StripSymbols
propriedade que, opcionalmente, permite que os símbolos de depuração sejam removidos do executável produzido no Linux para um arquivo separado. O valor padrão da propriedade era false
. No .NET 8, o valor padrão foi alterado para true
.
Comportamento anterior
Com PublishAOT
o , os símbolos de depuração no Linux foram colocados no executável produzido por padrão, com uma opção opt-in para colocá-los em um arquivo .dbg separado.
Novo comportamento
Com PublishAOT
o , os símbolos de depuração no Linux são colocados em um arquivo .dbg por padrão, com uma opção de exclusão para colocá-los no executável.
Versão introduzida
.NET 8 Visualização 4
Razão para a alteração
Com base nos comentários, determinamos que os usuários do .NET preferem o . Convenção de símbolos NET em vez da convenção nativa da plataforma. No entanto, a opção de retirar os símbolos não foi suficientemente detetável.
Ação recomendada
- Se você confiar em símbolos de depuração para estar presente no executável principal, adicione
<StripSymbols>false</StripSymbols>
ao seu arquivo de projeto para restaurar o comportamento anterior. - Se você optar por usar o novo padrão, verifique se os símbolos de depuração nos arquivos .dbg estão arquivados corretamente se você espera que precise depurar os executáveis gerados.
APIs afetadas
Nenhum.