Wish List for Visual Studio and .NET 4+

After using .NET 4 and Visual Studio for about a year now, here is my wish list for an upcoming release:

Visual Studio 2010+

  1. Speed up loading in virtual environments like VMWare and Parallels. I’ve seen VS 2010 take up to 5 minutes to load in VMWare. Not acceptable!

Building Projects/ Solutions

  1. The ability when a build is run to basically “Run Custom Tool” on all T4 templates. Would be much easier to keep things in sync.
  2. Cause a warning or build error in VS when the Using pattern is not used on an type that implements IDisposable. This is a must for object cleanup and prevent errors from using Finally over Using or not calling Dispose at all.

.NET 4+

  1. The ability to save/ read settings from any file location.

Entity Framework

  1. The ability to move properties around in an Entity. As new columns get added to table or view, they appear at the bottom of the Entity. Would like to be able to move them around to place them in alphabetical order using the EF designer. Would be even better if they auto-sorted with properties ending in “Id” at the top!
  2. Auto generate view (serialization) classes. This dramatically improves the speed of EF the first time it’s hit since it does not have to create these on the fly. Setting “Generate Serialization Assembly” in the project properties does not work for EF.
  3. The ability to import a stored procedure and auto-generate an Entity and make the mapping.
  4. The ability with the POCO T4 template to set a property on the context template that contains the namespace for the Entities. This comes in useful when separating the two T4 templates into separate projects.
  5. Have a setting in the entity model properties to choose what version of SQL Server the model should use. This would allow you to easily set the ProviderManifestToken setting in the edmx file. This is a major issue if the model was created/ updated from SQL Server 2008, but in a different environment, like production, SQL Server 2005 is used. This can cause intermittent errors during runtime that give you no clue that this is the issue!

WCF Data Services

  1. Allow DataServiceContext to request data via JSON. Very important for performance since the JSON payload is 1/3 the size or more of AtomPub.

Team Foundation Server

  1. I would say almost the majority of the time, I need a writable file just to prototype code or for testing and debugging. If you start  editing any of these files, TFS will check out the file for you. I don’t want that! I’d rather have the ability to just make the file writable.
  2. Carry over history when code files are merged.