As we work on some big changes for NuGet 3.x, we’re finding that we’re at a crossroads: Should we use .NET 4.5 and improve our Visual Studio UI using new features available in Visual Studio 2012, Visual Studio 2013, and Visual Studio “14”; or should we retain support for Visual Studio 2010?
Visual Studio 2010 has been supported since NuGet’s introduction. But supporting it prevents us from using .NET 4.5 and since it has different visual styling from the newer versions of Visual Studio, it’s holding us back on some of our new UI.
Visual Studio 2010 Usage
In July 2013, we started capturing what version of Visual Studio was being used when a package was installed. Here’s what the data shows us from then vs. now:
|Visual Studio Version||Usage in July 2013||Usage in September 2014|
|Visual Studio 2010||16%||6%|
|Visual Studio 2012||69%||28%|
|Visual Studio 2013||11%||62%|
|The remaining usage is spread across WebMatrix and Visual Studio "14"|
While 6% of package downloads through Visual Studio 2010 is still notable, the quick adoption of Visual Studio 2013 is impressive. We expect Visual Studio “14” to also have quick adoption.
If we “drop” Visual Studio 2010, here’s what it would mean:
- NuGet 3.0+ would no longer include updates to the Visual Studio 2010 NuGet extension
- NuGet 2.8 would remain available for Visual Studio 2010 users
- New features introduced in NuGet 3.0+ would not be available to those users
- Packages that require new features of 3.0+ would not be installable through Visual Studio 2010
- The nuget.org gallery would continue to work for you as it does today
At this point, we plan to move forward with this decision. We would continue updating NuGet for Visual Studio 2012, Visual Studio 2013, and Visual Studio “14”.
If you have objections to this plan, please leave us a comment explaining why you’re still using Visual Studio 2010 and why continued NuGet updates are important to you. Remember, the existing NuGet 2.8 extension would remain available to you, and nuget.org will continue to work for you, you just wouldn’t be getting the latest NuGet features.