Skip to content

PDB format and caller file name arguments include full path names in compiler output #949

@gafter

Description

@gafter

Because the PDB file format includes the full path name of source files, the Roslyn C# and VB compilers will produce different output when the paths are different from one compilation to another. In particular, in a cloud build environment the build output might not be deterministic from one build machine to another.

Related to this, the caller file name attribute encodes the full path name. That is another way in which the full path name is encoded into the output assembly.

@tmat suggests we do what the Microsoft C++ compiler does, which is to provide a source/directory map command-line option that normalizes the directory names in the compiler-produced outputs.

It was also suggested that, in the context of this work, we also normalize file separators to /, which works on all platforms.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions