-
Notifications
You must be signed in to change notification settings - Fork 4.2k
Description
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.