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.

image

image

Here is my solution:

image

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.

image

image

It saves me a lot of time. Maybe it eases up you life too.

You can download it in the Visual Studio Gallery…