dotnet / sdk

Core functionality needed to create .NET Core projects, that is shared between Visual Studio and CLI
https://dot.net/core
MIT License
2.75k stars 1.07k forks source link

Satellite assemblies do not pass PathMap to Csc task #45256

Open jaredpar opened 1 hour ago

jaredpar commented 1 hour ago

Describe the bug

The CoreGenerateSatelliteAssemblies target does not pass $(PathMap) to the <Csc> task for generating satellite assemblies. That means the resulting DLL embeds original path names, not mapped path names. Further it does not pass $(Features) either which means it won't pass through -p:Features=debug-determinism which makes it harder to see why resources are differing.

To Reproduce

Build an assembly with -p:DeterministicSourcePaths and notice that $(PathMap) is not passed to the compiler

dotnet-issue-labeler[bot] commented 1 hour ago

I couldn't figure out the best area label to add to this issue. If you have write-permissions please help me learn by adding exactly one area label.

dotnet-issue-labeler[bot] commented 1 hour ago

I couldn't figure out the best area label to add to this issue. If you have write-permissions please help me learn by adding exactly one area label.

KalleOlaviNiemitalo commented 1 hour ago

That means the resulting DLL embeds original path names, not mapped path names.

Which files' path names does it embed? I thought most file paths are in the PDB, which is not generated for resource DLLs.