Как сгенерировать PDB для управляемых .net проектов в режиме выпуска?
-
06-09-2019 - |
Вопрос
Я знаю, что PDF-файлы генерируются для управляемый проекты в .NET, предоставляя компилятору аргумент /debug.Есть ли способ указать это в графическом интерфейсе VS (2005)?
Единственный способ, которым я пока мог заставить его генерировать PDF-файлы в режиме выпуска, - это вручную изменить файл .csproj и добавить :
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
в настройках "релиз":
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
Еще одна вещь:Я узнал из MSDN здесь что возможные значения для DebugType
тег - это:
full
pdbonly
none
Как эти значения влияют на поведение компилятора?
Решение
В VS2008 вы можете установить свойство, используя свойства проекта ->
Строить ->
Дополнительно... ->
Информация об отладке.
Другие советы
В ОТЛАДКЕ:
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
В ВЫПУСКЕ:
<DebugSymbols>true</DebugSymbols>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
Я нашел этот МОНО-запрос это может пролить некоторый свет на то, в чем разница между 'full
" и "pdbonly
'.
csc имеет отладочный тип "pdbonly", который генерирует PDF-файлы при создании кода времени выполнения, т.е.оптимизирован, нет атрибутов отладчика и т.д.
Это важно для возможности получать полезные трассировки стека из кода качества выпуска.
Мне кажется, что существование 2 тегов (DebugSymbols и DebugType) является избыточным.