0

Can anyone tell me what the difference is here between the two Visual Studio project reference types? One has two grey squares connected by a line, while the other has a rounded blue sqaure with two circles in it with a small circle in the upper left hand corer. When you right-click on the grey one it has the option to allow you to uninstall it, while the blue one has no option.

I am thinking that it is a reference package installed via nuget vs a reference installed without nuget, but I have some projects that have this mixture of grey and blue references and some that have the same nuget packages installed that only have the grey icons on them. Is it a library project vs a web project or something similar? What is the purpose here?

enter image description here

Barry Franklin
  • 1,781
  • 1
  • 27
  • 45
  • 2
    The blue NuGet icon shows that those references were added by NuGet packages. The grey icons are normal references. You can't remove NuGet references individually as VS *knows* those references are needed according to the package itself. – Panagiotis Kanavos Sep 28 '20 at 11:40
  • @PanagiotisKanavos This doesn't explain why in some projects (a web project for example) I can delete/remove these same references installed via nuget. – Barry Franklin Sep 28 '20 at 12:24
  • 1
    Probably because some are direct dependencies while others are indirect (transient) dependencies. That's why VS won't allow you to remove them. In any case, this changes dramatically with .NET Core. Transient dependencies no longer appear either in the list of packages or references – Panagiotis Kanavos Sep 28 '20 at 12:27

0 Answers0