I really like the idea of nuget package management. I tend to use packages also for internal libraries. But in a debugging session I sometimes need to debug or even change the referenced project. What I usually do is to add the foreign project to my solution and change the reference from the “Package Reference” to a “Project Reference”. After I did my changes to the foreign project I commit it, rebuild the package, upload it and reload the package to my local projects package directory. Everything is fine beside the fact that the solution is *wasted* with the foreign projects and the local project is *polluted* with the “Project References”. I cannot check in the project neither the solution in this state.
The extension switches the references back by searching the local projects “packages” directory for a matching assembly (including the target framework (NET/SL) and version) and removes the projects of foreign source control repositories (identified by being a project that is not in the same directory as the local project) from the solution.