Constraining the version range for VS template packages

Developer
Apr 2, 2012 at 7:14 PM
Edited Apr 2, 2012 at 7:18 PM

With the way VS templates are set up today, there's an inherent risk in updating runtime packages without the user explicitly consenting to it. For instance,

  1. A user creates a new Mvc 3 project and installs a helper package that depends on 3.0
  2. A update for the helper package is now available that depends on Mvc 4.0. User updates to this
  3. User's runtime is now updated to 4.0

Do we assume Mvc packages are no different from any other package that you install into an application and allow it continue working this way? Alternatively we could do some magic in the Template Wizard that adds version range constraints for the Mvc specific packages (http://docs.nuget.org/docs/Reference/Versioning#Constraining_Upgrades_To_Allowed_Versions). These constraints are not easily discoverable but they probably are less hassle to deal with than the alternative.