I just recently came across the Visual Studio option to reference files as links. I think I groked the basic concept and also used it myself once. However, when I realized how nuget leverages this feature in the bootstrapper I found myself wondering what’s the benefit in contrast to proper layering and referencing another assembly?
Can anyone point out the benefit of using linked classes against layering + referencing another assembly here?

To have less dependencies. The intent of the NuGet bootstrapper is to have the minimal amount of logic to bootstrap nuget.exe without having to duplicate alot of the code (that’s why certain files are shared). In this particular case, we didn’t want to have an unnecessary extra assembly, the nuget bootstrapper is a single exe.