Sitecore is now keeping pace with the .NET MVC versions being released. This is great because if you are building on the latest version of Sitecore you get to play with all the MVC5 goodness. However this has created a problem for Glass.Mapper.Sc.

The MVC implementation for Glass.Mapper.Sc at the moment is contained in the same assembly as the standard Web Forms implementation. This creates a problem because this MVC implementation needs to be compiled against MVC3, MVC4, MVC5 as well as .Net4 and .Net4.5 but I only have a single Nuget package to distribute all these versions, it just isn't possible.

My proposed solution is to separate the MVC solution into a separate Nuget packages that would need to be downloaded separately, this means we would have the following MVC Nuget packages:

  • MVC3
  • MVC4
  • MVC5

When starting a new Glass.Mapper.Sc project that uses MVC, a developer will need to download both the Glass.Mapper.Sc.CastleWindsor project as well as their desired MVC package.

What do you think about this? Is this a good idea? Is there a better solution?