Właściwość StripSymbols domyślnie ma wartość true
Gdy platforma .NET 7 wprowadziła wdrożenie natywnego AOT, wprowadziła StripSymbols
również właściwość, która opcjonalnie umożliwia usunięcie symboli debugowania z utworzonego pliku wykonywalnego w systemie Linux w osobnym pliku. Wartość domyślna właściwości to false
. Na platformie .NET 8 wartość domyślna została zmieniona na true
.
Poprzednie zachowanie
W programie PublishAOT
symbole debugowania w systemie Linux zostały domyślnie umieszczone w utworzonym pliku wykonywalnym, z opcją zgody na umieszczenie ich w osobnym pliku dbg .
Nowe zachowanie
W programie PublishAOT
symbole debugowania w systemie Linux są domyślnie umieszczane w pliku dbg z opcją rezygnacji, aby umieścić je w pliku wykonywalnym.
Wprowadzona wersja
.NET 8 (wersja zapoznawcza 4)
Przyczyna wprowadzenia zmiany
Na podstawie opinii ustaliliśmy, że użytkownicy platformy .NET wolą . Konwencja symboli NET zamiast konwencji natywnej dla platformy. Jednak opcja usuwania symboli nie była wystarczająco odnajdywalna.
Zalecana akcja
- Jeśli używasz symboli debugowania, które mają być obecne w głównym pliku wykonywalny, dodaj
<StripSymbols>false</StripSymbols>
do pliku projektu, aby przywrócić poprzednie zachowanie. - Jeśli zdecydujesz się użyć nowej wartości domyślnej, sprawdź, czy symbole debugowania w plikach dbg są prawidłowo archiwizowane, jeśli oczekujesz, że konieczne będzie debugowanie wygenerowanych plików wykonywalnych.
Dotyczy interfejsów API
Brak.