Я заметил, что некоторые. NET Основные проекты используют встроенные символы отладки вместо полной PDB, опубликованной на Symbol Server. Например, рассмотрим следующие проекты:
Мне пришлось скомпилировать их локально, и оба не генерируют PDB (почти), вместо этого они инструктируют компилятор C# встраивать отладочную информацию, включая ссылку на исходный код (понятия не имею, как это работает в реальности). ). Например, OrchardCore использует следующий код msbuild в своем Directory.Build.props для этой цели:
<PropertyGroup>
<DebugType>embedded</DebugType>
<EmbedAllSources>true</EmbedAllSources>
</PropertyGroup>
Я пытаюсь понять, что является предпочтительным подходом. Разве использование встроенных отладочных символов не увеличило бы размер моих двоичных файлов? До сих пор мы всегда создавали наш код с полными символами отладки внутри файлов PDB, которые мы никогда не включали в артефакты, а вместо этого публиковали на нашем Symbol Server. Должны ли мы использовать встроенные вместо этого? Может кто-нибудь прояснить этот момент?