PDB embedded sourceserver file path calculation doesn't match server path

The calculated source file path that is embedded in the srcsrv stream may be incorrect if there are files from wildly different directories e.g.:

(D) Level1
     (D) Level1.1
        (D) Level 1.1.1
             MySource.cs
     (D) Level1.2
         (D) Level 1.2.1
             OtherSource.cs

If 'Level 1.1' part of the normal project directories (e.g. it's a temporary directory) then the 'correct' base path is to 'Level 1.2.1' but the base path that will be calculated is 'Level 1'. If this doesn't match up with how the files are placed in the NuGet container (to be more specific in the 'src' directory of the container) then there will be a problem with the srcsrv stream.