Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The existing MSBuild documentation says that specifying DebugSymbols=false on the command line means that program database (.pdb) files aren't generated. However, that wasn't true before .NET 8. The behavior has been updated such that setting DebugSymbols to false now suppresses PDB generation by changing DebugType to None.
If you currently have a script where you expect PDBs to be created, and the behavior changes when you upgrade to .NET 8 or a later version, check if the script includes -p:DebugSymbols=false.
Previous behavior
-p:DebugSymbols=false did not suppress PDB generation.
New behavior
-p:DebugSymbols=false suppresses PDB generation.
Version introduced
.NET 8
Type of change
This change is a behavioral change.
Reason for change
This change aligns with the existing documentation and user expectations. The previous behavior often led to confusion.
Recommended action
If you want to generate PDBs, don't specify -p:DebugSymbols=false on the command line. Simply remove that property and the PDB files will be generated again.
Affected APIs
N/A