StripSymbols ist standardmäßig auf TRUE festgelegt
Als .NET 7 die native AOT-Bereitstellung einführte, wurde auch die StripSymbols
-Eigenschaft eingeführt, die es optional ermöglicht, Debugsymbole aus der erzeugten ausführbaren Datei unter Linux in eine separate Datei zu entfernen. Der Standardwert der Eigenschaft war false
. In .NET 8 hat sich der Standardwert in true
geändert.
Vorheriges Verhalten
Mit PublishAOT
wurden Debugsymbole unter Linux standardmäßig in die erzeugte ausführbare Datei eingefügt, mit der Option, sie in einer separaten DBG-Datei zu speichern.
Neues Verhalten
Mit PublishAOT
werden Debugsymbole unter Linux standardmäßig in einer DBG-Datei abgelegt, mit einer Option zum Deaktivieren, um sie in der ausführbaren Datei abzulegen.
Eingeführt in Version
.NET 8 Vorschauversion 4
Grund für die Änderung
Aufgrund von Feedback haben wir festgestellt, dass .NET-Benutzer die Konvention der .NET-Symbole gegenüber der plattformspezifischen Konvention bevorzugen. Die Option zum Entfernen der Symbole war jedoch nicht ausreichend erkennbar.
Empfohlene Maßnahme
- Wenn Sie darauf angewiesen sind, dass die Debugsymbole in der Hauptdatei vorhanden sind, fügen Sie
<StripSymbols>false</StripSymbols>
in Ihre Projektdatei ein, um das vorherige Verhalten wiederherzustellen. - Wenn Sie sich dafür entscheiden, die neue Voreinstellung zu verwenden, überprüfen Sie, ob die Debugsymbole in den DBG-Dateien ordnungsgemäß archiviert sind, wenn Sie die generierten ausführbaren Dateien voraussichtlich debuggen müssen.
Betroffene APIs
Keine.
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für