Description
Root cause of:
Using my knowledge of NuGet to get the content hash for the nupkgs:
source | content hash |
---|---|
SDK 9.0.301 | cU3+oEWUbuOtdKeos4QsWSV0e3+B8K4yAAx/bxv7qec= |
SDK 9.0.300 | nLg0WYZlcWFYf4eI5BWo2yIU1eYlSCnwHlqS0JlmdiI= |
nuget.org | nLg0WYZlcWFYf4eI5BWo2yIU1eYlSCnwHlqS0JlmdiI= |
So, it looks like the nupkg from the 9.0.300 SDK build was uploaded to nuget.org, but then the 9.0.301 SDK re-created it rather than re-using the existing nupkg. This breaks customers using lock files for deterministic restore.
Note that NuGet's pack is not deterministic. It was tried at one point, but deployment tools that used only a file's timestamp assumed that the deployment target was already up to date for assets coming from the package, and then the deployed app did not work correctly since files coming from the nuget package were not deployed. NuGet had to immediately roll back deterministic pack as it affected too many customers. Therefore, even if a compiler is deterministic, pack is not because of the timestamp written to the zip file's central directory.
Metadata
Metadata
Assignees
Type
Projects
Status