I recently noticed an issue with the way the "Manage Nuget Packages" feature works at the projetct level.
Here's a scenario that happened yesterday:
* A team member wants to add a reference to package A in one of the solution's project
* He opens the "Manage Nuget Packages" dialog at the project-level
* He searches for "Package A"
* He selects the Package A version 1.1 from the result list and clicks on the Install button
* This project now refers to Package A v1.1 while all other projects refer to v1.0
* The solution stops compiling because of version mismatch
Never during the process the user is notified that another version of the same package is installed elsewhere in the solution. Neither he's proposed to update the installed package to this new version.
I propose the following ideas as ways to prevent that issue and make the whole process smoother:
* Prevent the user to manage package at the project level (this option could be set at the solution level so each team can choose if they allow it or not).
* Notify (warn) the user that another version of the same package is already installed in the solution and allow him to use the installed version, update the installed version to the newer version or let him install the selected version for the current project only (hope he knows what he's doing).
* Show the solution's installed packages in each project dialog but gray them if they are not install in the current project. Another option could be to show the green checkmark icon next each package installed in the current project (similar to the search result list behavior).
Here's a scenario that happened yesterday:
* A team member wants to add a reference to package A in one of the solution's project
* He opens the "Manage Nuget Packages" dialog at the project-level
* He searches for "Package A"
* He selects the Package A version 1.1 from the result list and clicks on the Install button
* This project now refers to Package A v1.1 while all other projects refer to v1.0
* The solution stops compiling because of version mismatch
Never during the process the user is notified that another version of the same package is installed elsewhere in the solution. Neither he's proposed to update the installed package to this new version.
I propose the following ideas as ways to prevent that issue and make the whole process smoother:
* Prevent the user to manage package at the project level (this option could be set at the solution level so each team can choose if they allow it or not).
* Notify (warn) the user that another version of the same package is already installed in the solution and allow him to use the installed version, update the installed version to the newer version or let him install the selected version for the current project only (hope he knows what he's doing).
* Show the solution's installed packages in each project dialog but gray them if they are not install in the current project. Another option could be to show the green checkmark icon next each package installed in the current project (similar to the search result list behavior).