dotnet / dotnet/msbuild

DebugSymbols is ignored if DebugType is set.

Open
#2,169 7 comments 3 reactions 0 assignees View on GitHub
Area: Documentation backlog Priority:2 triaged
Dominant language
C#
Stars
5.5k
Forks
1.5k
Avg merge
1d 8h
Merged PRs (30d)
141

Description

The Fody project recently had an issue where debug symbols were not being processed properly in release mode.

https://github.com/Fody/Fody/issues/360

It turns out that the value of `DebugSymbols` is completely ignored if `DebugType` is set.

https://github.com/Microsoft/msbuild/blob/master/src/Tasks/Microsoft.Common.CurrentVersion.targets#L145-L151

<_DebugSymbolsProduced>false
<_DebugSymbolsProduced Condition="'$(DebugSymbols)'=='true'">true
<_DebugSymbolsProduced Condition="'$(DebugType)'=='none'">false
<_DebugSymbolsProduced Condition="'$(DebugType)'=='pdbonly'">true
<_DebugSymbolsProduced Condition="'$(DebugType)'=='full'">true
<_DebugSymbolsProduced Condition="'$(DebugType)'=='portable'">true
<_DebugSymbolsProduced Condition="'$(DebugType)'=='embedded'">false

But according to the documentation DebugSymbol should control the output of the symbol file.

https://msdn.microsoft.com/en-us/library/bb629394.aspx

> **DebugSymbols** A boolean value that indicates whether symbols are generated by the build. Setting /p:DebugSymbols=false on the command line disables generation of program database (.pdb) symbol files.

> **DebugType** Defines the level of debug information that you want generated. Valid values are "full," "pdbonly," and "none."

Is this a bug?

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.