Compartir por


StripSymbols tiene true como valor predeterminado

Cuando .NET 7 introdujo la implementación de AOT nativa, también introdujo la StripSymbols propiedad que, opcionalmente, permite quitar símbolos de depuración del ejecutable generado en Linux en un archivo independiente. El valor predeterminado de la propiedad era false. En .NET 8, el valor predeterminado ha cambiado a true.

Comportamiento anterior

Con PublishAOT, los símbolos de depuración en Linux se colocaban por defecto dentro del ejecutable generado, con una opción para colocarlos en un archivo .dbg independiente.

Nuevo comportamiento

Con PublishAOT, los símbolos de depuración en Linux se colocan en un archivo .dbg de forma predeterminada, con una opción de exclusión para colocarlos en el ejecutable.

Versión introducida

.NET 8 Versión preliminar 4

Motivo del cambio

En función de los comentarios, hemos determinado que los usuarios de .NET prefieren la convención de símbolos .NET en lugar de la convención nativa de la plataforma. Sin embargo, la opción para quitar los símbolos no era lo suficientemente reconocible.

  • Si confía en que los símbolos de depuración estén presentes en el archivo ejecutable principal, agregue <StripSymbols>false</StripSymbols> al archivo de proyecto para restaurar el comportamiento anterior.
  • Si decide usar el nuevo valor predeterminado, compruebe que los símbolos de depuración de los archivos .dbg están archivados correctamente si espera que tenga que depurar los ejecutables generados.

Las APIs afectadas

Ninguno.